Pedro F. Giffuni [Thu, 28 Dec 2017 19:42:53 +0000 (19:42 +0000)]
netinet6/ip6_id.c: niels kindly dropped clause 3/4 from the license.
This file is supposed to be based on the OpenBSD CVS v1.6 but checking
the OpenBSD repository the license had already dropped the 2&3 clasues by
then. Catch up with the licensing.
Pedro F. Giffuni [Thu, 28 Dec 2017 17:44:30 +0000 (17:44 +0000)]
rpc.sprayd: Bring some changes from NetBSD.
Most notable, other than some style issues:
CVS 1.11:
do not use LOG_CONS.
CVS 1.13:
consistently use exit instead of return in main().
use LOG_WARNING instead of LOG_ERR for non critical errors.
Pedro F. Giffuni [Thu, 28 Dec 2017 14:26:33 +0000 (14:26 +0000)]
sys/sys/chio.h: add NetBSD RCS ID.
Make it easier to identify the point where we started diverging from
NetBSD. Newer versions of this file has been updated to a new license so
this information may become useful some day.
Pedro F. Giffuni [Thu, 28 Dec 2017 14:14:35 +0000 (14:14 +0000)]
sys/i386/isa/elink*: sync with (older) NetBSD.
Make it easier to identify the point where we started diverging from
NetBSD. Newer versions of these files have been updated to a new license
so this information may become useful some day.
Reuse kern_proc_vmmap_resident() for procfs_map resident count.
The existing algorithm in procfs_map() to calculate count of resident
pages in an entry is too primitive, resulting in too long run time for
large sparse mapping entries. Re-use the kern_proc_vmmap_resident()
from kern_proc.c which only looks at the existing pages in the
iterations.
Also, this makes procfs to honor kern.proc_vmmap_skip_resident_count,
if user does not need this information.
Reported by: Glenn Weinberg <glenn.weinberg@intel.com>
PR: 224532
No objections from: des (procfs maintainer)
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D13595
Warner Losh [Thu, 28 Dec 2017 05:33:19 +0000 (05:33 +0000)]
Explicitly ignore return value from remove. We wouldn't do anything
differently if we can't unlink the temporary file. Also, free the
temporary file name when we set it to NULL.
Nathan Whitehorn [Thu, 28 Dec 2017 01:21:30 +0000 (01:21 +0000)]
Fix bug introduced in r326674, in which efi boot partitions created by
the installer but not mounted (i.e. with boot1.efifat dd'ed to them
rather than the forthcoming proper filesystem) would get newfs_msdos run
on them immediately after the boot code was copied. This would overwrite
the bootstrap code, causing the EFI system partition to be blanked and
resulting in an unbootable system.
Stephen Hurd [Wed, 27 Dec 2017 20:42:30 +0000 (20:42 +0000)]
Don't pass rids to taskqgroup_attach()
As everywhere else, we want to pass rman_get_start(irq->ii_res). This
caused set affinity errors when not using MSI-X vectors (legacy and MSI
interrupts).
Pedro F. Giffuni [Wed, 27 Dec 2017 20:09:50 +0000 (20:09 +0000)]
ccdconfig: Update licensing terms.
The code originate in NetBSD and there are the copyright notes have been
assigned to the NetBSD Foundation. Update the files up to the point where
we started diverging.
Further relaxation of the licensing terms are possible after we
check the NetBSD updates, and contact the local authors.
In the case of ccdconfig.8 this reinstates the 3rd clause but since the
code is not directly from Berkeley, the change was bogus.
Warner Losh [Wed, 27 Dec 2017 18:30:24 +0000 (18:30 +0000)]
Fix a bunch of issues (and a few non-issues but appeasement is easier
than arguing) Coverity found:
o Use open + fstat rather than stat + open to avoid any races for a
file that's static for the life of the system. This will prevent any
problems should someone insert a new device while installing a
kernel in the future.
o Use strlcpy instead of strcpy as a failsafe to knowing that the
strings can't possibly be larger than the buffer due to data
source limits (though in the future these limits might be more
dynamic).
o If we can't find the hints file, return rather than dereference
a NULL pointer.
o Check for lastmod before calling strcmp in case a PNP entry
comes before a module entry. That's not allowed, but within the
realm of crazy things programmers do.
o Free lastmod before exiting search_hints() to avoid a leak.
Kyle Evans [Wed, 27 Dec 2017 18:22:02 +0000 (18:22 +0000)]
if_awg: Respect rgmii-*id PHY configurations
phy-mode can be one of: rgmii, rgmii-id, rgmii-txid, rgmii-rxid; as this was
written, any of these alternate -id configurations would break as we fail to
configure syscon for rgmii. Instead, simply check that phy-mode is
configured for rgmii and we'll let the PHY driver handle any internal delay
configuration.
The pine64 should eventually specify phy-mode = "rgmii-txid" to address
gigabit issues when rx delay is configured, motivating this change.
Ian Lepore [Tue, 26 Dec 2017 22:05:55 +0000 (22:05 +0000)]
Add a section describing how to tune ARM kernel options to use an MD_ROOT
filesystem larger than about 50-55 MiB.
The description of VM_KMEM_SIZE_SCALE is roughly as hand-wavy as my
understanding of the option, but at least mentioning that it's a factor
and giving an empirical datapoint that works will give folks some idea
of what to tweak if they have problems.
Michael Zhilin [Tue, 26 Dec 2017 19:50:23 +0000 (19:50 +0000)]
[mips] fix compilation of TP-WN1043ND kernel configuration
This compilation issue has been found thanks to freebsd-wifi-build:
- gpioiic requires "gpio_if.h", so "device gpio" is mandatory
- rtl8366rb works over MDIO interface, so "device mdio" is mandatory
Compilation is checked on FreeBSD 12-CURRENT machine.
Ian Lepore [Tue, 26 Dec 2017 19:02:56 +0000 (19:02 +0000)]
Add a new ARM kernel option, LOCORE_MAP_MB, to control the size of the
kernel VA mapping in the temporary page tables set up by locore-v6.S.
The number used to be hard-coded to 64MB, which is still the default if
the kernel option is not specified. However, 64MB is insufficient for
using a large mdroot filesystem. The hard-coded number can't be safely
increased because too large a number may run into memory-mapped IO space
on some SoCs that must not be mapped as ordinary memory.
Alan Cox [Tue, 26 Dec 2017 17:59:37 +0000 (17:59 +0000)]
Refactor vm_map_find(), creating a separate function, vm_map_alignspace(),
for finding aligned free space in the given map. With this change, we
always return KERN_NO_SPACE when we fail to find free space. Whereas,
previously, we might return KERN_INVALID_ADDRESS. Also, with this change,
we explicitly check for address wrap, rather than relying upon the map's
min and max addresses to establish sentinel-like regions.
This refactoring was inspired by the problem that we addressed in r326098.
Kyle Evans [Tue, 26 Dec 2017 16:38:04 +0000 (16:38 +0000)]
extres/syscon: Commit missing bits from r327106
r327106 introduced kobj to syscon so it can be subclassed and fit in with
the rest of the syscon framework. The diff for syscon.c was misapplied in a
clean tree prior to commit, so bring it back to what was included in the
review and tested. The entire file has basically been rewritten from what
was present prior to the kobj work.
Michael Tuexen [Tue, 26 Dec 2017 14:37:47 +0000 (14:37 +0000)]
Allow the first (and second) argument of sn_calloc() be a sum.
This fixes a bug reported in
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224103
PR: 224103
Michael Tuexen [Tue, 26 Dec 2017 12:35:02 +0000 (12:35 +0000)]
When adding support for sending SCTP packets containing an ABORT chunk
to ipfw in https://svnweb.freebsd.org/changeset/base/326233,
a dependency on the SCTP stack was added to ipfw by accident.
This was noted by Kevel Bowling in https://reviews.freebsd.org/D13594
where also a solution was suggested. This patch is based on Kevin's
suggestion, but implements the required SCTP checksum computation
without any dependency on other SCTP sources.
While there, do some cleanups and improve comments.
Thanks to Kevin Kevin Browling for reporting the issue and suggesting
a fix.
Introduce an architecture-agnostic <sys/_stdarg.h> to reduce
platform divergence.
Only architectures which pass arguments in registers (mips)
and platforms which use really weird compilers (any?) would
need to augment the contents of <sys/_stdarg.h>
Convert x86, arm and arm64 architectures to use <sys/_stdarg.h>
Warner Losh [Mon, 25 Dec 2017 18:56:08 +0000 (18:56 +0000)]
Match unattached devices on the system to potential kernel modules.
devmatch(8) matchs up devices in the system device tree with drivers
that may match them. For each unattached device in the system, it
tries to find matching PNP info in the linker hints and prints modules
to load to claim the devices.
In --unbound mode, devmatch can look for drivers that have attached to
devices in the device tree and have plug and play information, but for
which no PNP info exists. This helps find drivers that haven't been
converted yet that are in use on this system.
In addition, the ability to dump out linker.hints is provided.
Future commits will add hooks to devd.conf and rc.d to fully automate
using this information.