zrj [Tue, 19 Dec 2017 15:59:05 +0000 (17:59 +0200)]
kernel/pc64: Adjust some references to already removed i386.
While there, perform some whitespace fixes.
No functional change.
Sascha Wildner [Wed, 20 Dec 2017 04:59:44 +0000 (05:59 +0100)]
fsck_msdosfs(8): Use __printflike.
Sascha Wildner [Wed, 20 Dec 2017 04:55:50 +0000 (05:55 +0100)]
routed(8): Clean up a bit.
* Use __printflike and __unused.
* Remove sccsid[] etc.
Sascha Wildner [Wed, 20 Dec 2017 03:33:04 +0000 (04:33 +0100)]
Add __attribute__((__noreturn__)) to various function prototypes in sbin/.
This general cleanup is useful in various ways. It helps the compiler
optimize better and it also helps later GCCs detect better when to give
-Wimplicit-fallthrough warnings and when not.
Found-with: -Wsuggest-attribute=noreturn
Sascha Wildner [Tue, 19 Dec 2017 18:51:17 +0000 (19:51 +0100)]
libc/sysconf: Add _SC_LEVEL1_DCACHE_LINESIZE.
nginx can make use of it (see http://hg.nginx.org/nginx/rev/
057adb2a9d23).
Requested-by: sephe
zrj [Tue, 19 Dec 2017 15:26:44 +0000 (17:26 +0200)]
kernel/pc64: Rename i386_protection_init().
No functional change.
zrj [Tue, 19 Dec 2017 15:25:48 +0000 (17:25 +0200)]
apply(1): Add const attributes.
Sepherosa Ziehau [Tue, 19 Dec 2017 05:00:51 +0000 (13:00 +0800)]
tcp: Stringent assertion for pru_connect.
Eitan Adler [Tue, 19 Dec 2017 06:03:02 +0000 (22:03 -0800)]
gettytab: Add 3wire and std as terminal types/classes.
These are similar to
the existing terminal types/classes that have the baudrate suffix,
but differ in that no baudrate is set/defined.
Obtained-from: FreeBSD (r262955)
zrj [Sun, 17 Dec 2017 15:54:01 +0000 (17:54 +0200)]
libc/nmalloc: Handle size_t overflows in posix_memalign().
Some algorithms/programs try to heuristically deduce alignment rules.
Instead of confusing them with minimal allocations for size == (size_t)-7 and
friends at different alignment values, just return ENOMEM since POSIX does not
explictly specify how alignment overflows should behave. Programs should keep
track of pointers they try to allocate (including size == 0 case too).
zrj [Sun, 17 Dec 2017 15:47:30 +0000 (17:47 +0200)]
libc/nmalloc: Whistespace cleanup.
No functional change.
Matthew Dillon [Mon, 18 Dec 2017 05:45:34 +0000 (21:45 -0800)]
kernel - Relax requirements for sysctl operations on longs
* Relax the requirements for sysctl operations on longs. Allow the
case where userland is reading the sysctl variable as an integer
instead of a long.
* Allows us to promote various vm.stats.vm_* fields that must now be
longs in order to support > 8TB of ram as well as avoid internal
calculation overflows.
* Fixes an issue where chrome issues this sysctl as an int:
sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0);
And fails to check the return value / error code, resulting in
a garbage value for 'pages' which chrome then uses to size the
browser's memory restrains. This in turn was causing chrome
to give up multiple tabs thinking it had run out of memory when,
in fact, there is plenty of memory available.
* Generally speaking, I've wanted to have this sort of backwards
compatibility for a while now. Userland shouldn't get errors
accesing integral sysctl values simply because it uses an integer
of a different size than the sysctl.
zrj [Wed, 13 Dec 2017 07:39:00 +0000 (09:39 +0200)]
md5(1): Add support for sha512.
zrj [Wed, 13 Dec 2017 07:04:08 +0000 (09:04 +0200)]
md5(1): Minor cleanup.
* add static and const attributes;
* use RUSAGE_SELF;
* fix some whitespace errors.
No functional change.
Sascha Wildner [Sun, 17 Dec 2017 13:42:03 +0000 (14:42 +0100)]
boot/efi: Remove our old efi include files.
The remaining local header is eficonsctl.h which I will deal with later.
Sascha Wildner [Sun, 17 Dec 2017 13:41:22 +0000 (14:41 +0100)]
boot/efi: Port most of our efi boot code to the EDK II headers.
Sascha Wildner [Sun, 17 Dec 2017 13:40:41 +0000 (14:40 +0100)]
boot/efi: Bring in a bunch of additional TianoCore EDK II headers.
Taken from the MdePkg of the UDK2017 branch of the
git://github.com/tianocore/edk2 repository.
All I modified was killing CRs using 'tr -d "\015"'.
This is a work in progress.
Sepherosa Ziehau [Sun, 17 Dec 2017 03:36:49 +0000 (11:36 +0800)]
igb.4: Sort chip names.
Sepherosa Ziehau [Sun, 17 Dec 2017 03:33:04 +0000 (11:33 +0800)]
ix.4: Sort chip names.
Sascha Wildner [Sun, 17 Dec 2017 09:39:55 +0000 (10:39 +0100)]
mount_udf(8): Staticize
Sascha Wildner [Sun, 17 Dec 2017 09:26:31 +0000 (10:26 +0100)]
dumpfs(8): Staticize
Sascha Wildner [Sun, 17 Dec 2017 09:11:02 +0000 (10:11 +0100)]
dmesg(8): Staticize
Sascha Wildner [Sat, 16 Dec 2017 21:53:56 +0000 (22:53 +0100)]
devfsctl(8): syntax_error() never returns, so change it to 'void'.
While here, fix indent a bit and add a copyright to devfsctl.h.
Sepherosa Ziehau [Sat, 2 Dec 2017 17:43:05 +0000 (01:43 +0800)]
igb: Sync with Intel's igb 2.5.3
- Enable RX packets dropping, if flow control is disabled.
- Clear bad data at chip initialization time.
Tested-by: Tim Darby <t timdarby net> (i211)
Thomas Nikolajsen <thomas nikolajsen mail dk> (i210)
Sascha Wildner [Sat, 16 Dec 2017 10:39:05 +0000 (11:39 +0100)]
Remove /boot/efiboot.img via 'make upgrade'.
This is needed in our ISOs only to allow booting in EFI mode from
CD-ROM. In the installed system it is not needed anymore, so it
can be removed.
Eitan Adler [Fri, 15 Dec 2017 03:38:21 +0000 (19:38 -0800)]
bsd-family-tree: add NetBSD 7.0.2; Add recent DragonFly
Also changes exact location of NetBSD 7.0.1
Gives some breathing room for adding new releases
Obtained-from: NetBSD (partially)
Sascha Wildner [Wed, 13 Dec 2017 14:08:59 +0000 (15:08 +0100)]
Sync our gcc5 manual pages with gcc-5.4.0
Sascha Wildner [Wed, 13 Dec 2017 12:27:41 +0000 (13:27 +0100)]
Remove <sys/ioccom.h> inclusion from a number of files.
<sys/ioccom.h> should only be included from header files that define
ioctls.
Matthew Dillon [Tue, 12 Dec 2017 22:45:04 +0000 (14:45 -0800)]
tmpfs - Fix arbitrary maximum file size limitation
* tmpfs's maxfilesize was limited to the original tmpfs mount
storage limit, prior to argument overrides. In addition,
the -f argument override would not increase the maxfilesize
limit beyond the original storage limit anyway.
* Remove this limit calculation entirely. Instead the limit
is based on the storage limit which can be optioned at mount
time.
* Fixes expectations when tmpfs is used to hold just a few (or
even just one) file.
Reported-by: kerma
Sascha Wildner [Tue, 12 Dec 2017 14:03:19 +0000 (15:03 +0100)]
boot/efi: Sync IndustryStandard/Bluetooth.h with UDK2017 branch of EDK II.
Sascha Wildner [Tue, 12 Dec 2017 08:59:07 +0000 (09:59 +0100)]
boot/efi: Bring in two more TianoCore EDK II headers.
Taken from the MdePkg of the UDK2017 branch of the
git://github.com/tianocore/edk2 repository.
All I modified was killing CRs using 'tr -d "\015"'.
This is a work in progress.
Sascha Wildner [Tue, 12 Dec 2017 08:55:37 +0000 (09:55 +0100)]
boot/efi: Remove an unused header.
If we ever need it we'd take it from TianoCore EDK II, i.e.
MdePkg/Include/IndustryStandard/Mbr.h.
Matthew Dillon [Sun, 10 Dec 2017 22:09:03 +0000 (14:09 -0800)]
kernel - Revert part of the contig allocation work
* Revert part of the contig allocation work. Always use the alist
allocation from the DMA reserve first, and revert to scanning the
VM page list only if it fails.
* Fixes performance problems with X.
* What this means, generally, is that we will probably need to rely
directly on the dma reserve for most of our DMA allocation and
freeing just to ensure reasonable performance. Scanning page
lists is a big lose.
Reported-by: mneumann
Sascha Wildner [Sun, 10 Dec 2017 15:56:53 +0000 (16:56 +0100)]
libc: Forgotten adjustment in Versions.def
Reported-by: Aaron LI <aly@aaronly.me>
Sascha Wildner [Sun, 10 Dec 2017 07:15:19 +0000 (08:15 +0100)]
Makefile_upgrade.inc: Add adding_user.8 to the end of the list.
Sascha Wildner [Sun, 10 Dec 2017 07:08:27 +0000 (08:08 +0100)]
libc/termios: Add cfmakesane().
This makes net/bsdrcmds build, in preparation for removing rcp, rlogin,
rlogind, rsh and rshd from base.
Taken-from: FreeBSD
Eitan Adler [Sun, 10 Dec 2017 06:42:19 +0000 (22:42 -0800)]
Update bsd-family-tree
Eitan Adler [Sun, 10 Dec 2017 05:56:27 +0000 (21:56 -0800)]
Remove 'adding_user.8'
Not to be confused with adduser.
Not to be confused with useful information.
Eitan Adler [Sun, 10 Dec 2017 05:09:54 +0000 (21:09 -0800)]
flowers: correct spelling of lily, Camellia
Eitan Adler [Sun, 10 Dec 2017 05:06:41 +0000 (21:06 -0800)]
scsi_modes - bring up to date
Obtained-from: FreeBSD
Eitan Adler [Sun, 10 Dec 2017 05:02:44 +0000 (21:02 -0800)]
ascii: Use standard name for ASCII control codes
Obtained-from: FreeBSD r293281
Sascha Wildner [Sat, 9 Dec 2017 19:16:32 +0000 (20:16 +0100)]
rlogind(8): Staticize and remove unused declarations.
Pierre-Alain TORET [Wed, 29 Nov 2017 09:37:03 +0000 (10:37 +0100)]
Add test to dports-download-check target
Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>
Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/3053>
Sascha Wildner [Sat, 9 Dec 2017 08:09:51 +0000 (09:09 +0100)]
Add __attribute__((__noreturn__)) to various function prototypes in bin/.
This general cleanup is useful in various ways. It helps the compiler
optimize better and it also helps later GCCs detect better when to give
-Wimplicit-fallthrough warnings and when not.
Found-with: -Wsuggest-attribute=noreturn
Sascha Wildner [Sat, 9 Dec 2017 07:57:02 +0000 (08:57 +0100)]
rcp(1): Staticize.
Sascha Wildner [Sat, 9 Dec 2017 07:47:50 +0000 (08:47 +0100)]
pwd(1): Staticize, remove void cast.
Pierre-Alain TORET [Wed, 29 Nov 2017 09:16:42 +0000 (10:16 +0100)]
Add dports-download-check target
Signed-off-by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>
Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/3053>
François Tigeot [Fri, 8 Dec 2017 21:57:34 +0000 (22:57 +0100)]
drm/radeon: Prevent a crash on load with newer drm code
* The existing drm/radeon code base contained an invalid unlock/lock
sequence in radeon_irq_kms_init() which caused the kernel to crash
during driver initialization with the drm code base from Linux 4.8
* Fixed by replacing the problematic function with its version from
Linux 4.8
Sascha Wildner [Fri, 8 Dec 2017 14:45:08 +0000 (15:45 +0100)]
kernel/evdev: Fix Makefile permission.
Peeter Must [Fri, 8 Dec 2017 12:17:22 +0000 (14:17 +0200)]
kernel - Add evdev support to kbdmux, ukbd and ums
* Allows kbdmux, ukbd and ums to send input events to evdev if kernel
is built with evdev support.
* The sysctl kern.evdev.rcpt_mask determines which drivers are allowed
to send events to evdev. Its default value is 3, meaning that kbdmux
and sysmouse are enabled. Since the latter is not yet supported, one
might want to change the value to 6 (kbdmux and ums) until sysmouse
will be added.
Obtained-from: FreeBSD
Peeter Must [Fri, 8 Dec 2017 10:43:27 +0000 (12:43 +0200)]
kernel - Bring in evdev from FreeBSD
* This is a port of evdev, the generic input event interface, from
FreeBSD. Wikipedia: "Evdev generalizes raw input events from device
drivers and makes them available through character devices in the
/dev/input/ directory."
* It is currently considered experimental since in rare cases it may cause
kernel crash when a device, e.g. usb mouse or keyboard, is detached
while a userland program reading from the corresponding input/eventX
device.
* In order to enable evdev, kernel needs to be rebuilt with 'device evdev'
and 'options EVDEV_SUPPORT'. For debugging, add 'options EVDEV_DEBUG'.
* At present, only ums, kbd and kbdmux can send events to their respective
input/eventX devices. More drivers will be added in due course. The sysctl
kern.evdev.rcpt_mask determines which drivers send events to evdev.
Peeter Must [Fri, 8 Dec 2017 09:53:22 +0000 (11:53 +0200)]
kernel - Fix crash when cdev is destroyed
* If a device is destroyed while a userland program is blocked
in a read() or device ioctl, the underlying node will be deleted.
Returning EIO will prevent kernel from crashing.
* This is a temporary hack until a better solution is found.
Matthew Dillon [Fri, 8 Dec 2017 02:20:49 +0000 (18:20 -0800)]
tmpfs - Correct some timestamp update issues
* write() was updating ACCESSED and MODIFIED when it should only
be updating MODIFIED.
* unlink() (aka rm) was updating CHANGE, ACCESSED, and MODIFIED
which would be visible if a file has multiple links. It should
only update the CHANGE time.
* rmdir() was doing the same thing as UNLINKED. Fixed this too,
but the bug would not be readily visible anyway since directories
cannot be hardlinked. However, fstat() on an open descriptor
would still reveal it.
zrj [Thu, 7 Dec 2017 09:06:17 +0000 (11:06 +0200)]
ddb.4: Document i command addition.
While there, document call and reset commands too.
Matthew Dillon [Thu, 7 Dec 2017 03:09:20 +0000 (19:09 -0800)]
kernel - Improve contiguous DMA memory allocation
* vm_page_alloc_contig() will use vm_page_alloc() for degenerate
requests instead of the free page reserve. This case often
occurs when called from kmem_alloc_attr().
* vm_contig_pg_alloc() will scan the VM page queues first for
unrestricted memory requests, falling back to vm_page_alloc_contig()
if this fails.
vm_contig_pg_alloc() will call vm_page_alloc_contig() first if the
memory request has an address range restriction, falling back to
a VM page queue scan if it fails.
* This should hopefully reduce instances where device drivers probed
prior to e.g. NATA eat up all available low-memory DMA space,
leaving none for NATA (or other drivers) that might need low-memory
DMA space.
Matthew Dillon [Wed, 6 Dec 2017 18:51:28 +0000 (10:51 -0800)]
kernel - Fix ranging test in memory probe, adjust memory test (2)
* Correct bug in ranging test commit.
Matthew Dillon [Wed, 6 Dec 2017 08:23:16 +0000 (00:23 -0800)]
kernel - Fix vmstats.v_dma_pages
* Fix an atomic adjustment on v_dma_pages that we believe was
messing it up, due to not sign-extended a negation of an unsigned
field.
Reported-by: swildner
Matthew Dillon [Wed, 6 Dec 2017 07:00:22 +0000 (23:00 -0800)]
kernel - Fix hw.usermem, hw.physmem, hw.availpages
* Fix the hw.usermem, hw.physmem, and hw.availpages sysctls.
Some of these were improperly 32-bit sysctls when they need
to be 64-bits, causing silly values to be returned on
machines with more than 2G of ram.
Reported-by: zrj
Matthew Dillon [Wed, 6 Dec 2017 04:11:51 +0000 (20:11 -0800)]
kernel - Adjust vfs.nbuf, kern.maxvnodes, and debug.max_softdeps counts
* Cap some system limits on machines with tons of memory.
* vfs.nbuf is capped at roughly 350,000 buffer cache buffers. This
also caps buffer cache data to approximately 11G.
The reason for this is to avoid wiring too much physical memory in
the default configuration since programs might want to use the
memory fo r other purposes. Buffer cache buffers provide very fast
access when reading data from cached vnodes, but the new KVABIO ABI
will soon allow us to acquire and dispose of such buffers more
efficiently, increasing the efficiency of accessing data cached via
the block device and making long-term caching via vnode-backed
buffers somewhat less important.
* kern.maxvnodes is capped at approximately 3 million vnodes. This
can be set higher at run-time via a sysctl, if desired.
NOTE: Our go-to filesystems are designed to or can be set to cache
file data via the block device instead of the vnode, which is
preferable on systems with lots of memory. vnode caching is
still important, but a bit less so now than in prior years.
* debug.max_softdeps is capped at 1000000, because even a million
is an obscenely high value for softdep structures.
Matthew Dillon [Wed, 6 Dec 2017 02:17:53 +0000 (18:17 -0800)]
kernel - Fix ranging test in memory probe, adjust memory test
* Fix a ranging test in the memory probe code. The 'incr' value can
potentially skip over blacked-out areas of memory and thus accidently
include them in the range.
* We no longer exhaustively test memory. Instead, just test the first
and last page for each range.
Matthew Dillon [Tue, 5 Dec 2017 23:29:00 +0000 (15:29 -0800)]
kernel - add 'i' command to ddb
* Add the 'i' command, which just issues a cpu_invltlb() on the
current cpu. Useful when testing MMU/PMAP issues.
Matthew Dillon [Tue, 5 Dec 2017 22:40:22 +0000 (14:40 -0800)]
efisetup - Correct bugs
* nvme0 was hardwired in one place, use ${drive}. This fixes
issues with efisetup not working on e.g. drives other than nvme0.
* Use -f in the newfs_hammer to avoid complaints about small
partition sizes.
François Tigeot [Tue, 5 Dec 2017 20:52:31 +0000 (21:52 +0100)]
drm/linux: Improve linux/pci.h
* Add pci_get_drvdata and pci_set_drvdata()
* Add pci_register_driver()
zrj [Tue, 5 Dec 2017 10:49:16 +0000 (12:49 +0200)]
fdc(4): Check return error from isa_dma_init().
Must have been a bad sector in
0bc821c68ba308f17d4f0a7bfd300c432d575a09
Reported-by: dcb <https://bugs.dragonflybsd.org/issues/3108>
Sascha Wildner [Tue, 5 Dec 2017 09:46:57 +0000 (10:46 +0100)]
kernel/ipfw3: Minimal K&R cleanup.
Sascha Wildner [Tue, 5 Dec 2017 09:45:11 +0000 (10:45 +0100)]
libcipher: Minimal K&R cleanup.
Sascha Wildner [Tue, 5 Dec 2017 09:43:43 +0000 (10:43 +0100)]
libcrypt: K&R cleanup.
Sascha Wildner [Tue, 5 Dec 2017 09:43:16 +0000 (10:43 +0100)]
libcrypt: Remove some __STDC__ checks.
Matthew Dillon [Tue, 5 Dec 2017 08:14:20 +0000 (00:14 -0800)]
rtld - Fix ifunc relocations
* ifunc relocations had a bug that caused an immediate seg-fault.
Apparently this type of relocation is not used very much, we've
never encountered it before. But the qemu port uses it.
* Fix the bug. Basically missing lockstate and the top level in
rtld was expected to hold the bind lock.
Sascha Wildner [Tue, 5 Dec 2017 08:05:52 +0000 (09:05 +0100)]
Remove some orphaned externs.
Matthew Dillon [Mon, 4 Dec 2017 23:43:13 +0000 (15:43 -0800)]
kernel - Correct vm_map_entry_reserve() call depth issue w/vkernel
* vm_map was making vaddr tests against VM_MAX_USER_ADDRESS to
determine when to call vm_map_entry_reserve(). This test works
fine on real hardware but will not work properly for a vkernel.
* Instead, just use td_nest_count to prevent excessive recursion,
or test against &kernel_map when necessary.
* Fixes SIGILL in vkernel due to stack overflow.
Reported-by: tuxillo
Matthew Dillon [Mon, 4 Dec 2017 20:26:47 +0000 (12:26 -0800)]
libc - Adjust comment
* Adjust comment for dmalloc.c
Matthew Dillon [Mon, 4 Dec 2017 20:25:27 +0000 (12:25 -0800)]
debug - Adjust kmapinfo
* Use formatnum() for kmapinfo's segment size output when
printing EMPTY segments. This makes the output more readable.
Matthew Dillon [Mon, 4 Dec 2017 07:50:07 +0000 (23:50 -0800)]
kernel - Expand physical memory support to 64TB
* Make NKPML4E truly programmable and change the default from 1
PDP page to 16 PDP pages. This increases KVM from 512G to
8TB, which should be enough to accomodate a maximal 64TB
configuration.
Note that e.g. 64TB of physical ram certainly requires more
than one kernel PDP page, since the vm_page_array alone
would require around 2TB, never mind everything else!
PDP entries in the PML4E (512 total @ 512GB per entry):
256 User space
112 (unused, avail for NKPML4E)
128 DMAP (64TB max physical memory)
16 KVM NKPML4E default (8TB) (recommend 64 max)
* Increase the DMAP from 64 PDP pages to 128 PDP pages, allowing
support for up to 64TB of physical memory.
* Changes the meaning of KPML4I from being 'the index of the only
PDP page in the PML4e' to 'the index of the first PDP page in
the PML4e'. There are NKPML4E PDP pages starting at index KPML4I.
* NKPDPE can now exceed 512. This is calculated to be the maximmum
number of PD pages needed for KVM, which is now (NKPML4E*NPDPEPG-1).
We now pre-allocate and populate only enough PD pages to accomodate
the page tables we are pre-installing. Those, in turn, are calculated
to be sufficient for bootstrapping mainly vm_page_array and a large
initial set of pv_entry structures.
* Remove nkpt, it was not being used any more.
Matthew Dillon [Mon, 4 Dec 2017 03:06:03 +0000 (19:06 -0800)]
kernel - Remove DISABLE_PSE option and related code
* Remove the DISABLE_PSE option and related code. Note that the pmap
code was already forcing DISABLE_PSE since we are 64-bit only and
the pmap code never supported PSE anyway.
zrj [Mon, 4 Dec 2017 10:02:16 +0000 (12:02 +0200)]
vmstat(8): Change few printf formats for -s.
Catch up with
b7ea2f3f550021bfaabd8ed8d50b54c157fb55bf
Sascha Wildner [Mon, 4 Dec 2017 08:25:32 +0000 (09:25 +0100)]
Fix mdoc issues in various manual pages.
Matthew Dillon [Mon, 4 Dec 2017 01:14:15 +0000 (17:14 -0800)]
kernel - Expand page count fields to 64 bits
* 32 bit page count fields limit us to 8TB of ram. Expand to allow
up to the DMAP limit (32TB). Do an initial pass on various page
count fields and change them from int's to long's or vm_pindex_t's.
* Fix a 32-bit overflow in the pv_entry initialization code.
pv_entry_max = shpgperproc * maxproc + vm_page_array_size;
2000 * 1046516 + pages_of_phys_memory;
maxproc is 1046516 @ 512GB. This calculation overflows its 32
bit signed variable somewhere between 256G and 512G of ram. This
can lead to a zinitna() allocation in pvzone that is much too
large.
Reported-by: zrj
Antonio Huete Jimenez [Mon, 4 Dec 2017 00:55:05 +0000 (16:55 -0800)]
test/vkernel - Add hammer2 support
- Fix fstab and loader.conf settings.
François Tigeot [Sun, 3 Dec 2017 10:31:41 +0000 (11:31 +0100)]
drm/linux: Implement sort()
François Tigeot [Sun, 3 Dec 2017 09:32:58 +0000 (10:32 +0100)]
drm/linux: Fix linux/dma-mapping.h compilation...
... with the drm/i915 codebase from Linux 4.8
* Move functions from .h to .c files in order to hide their implementations
* This avoids leaking DragonFly headers to Linux code or Linux headers
to DragonFly code with associated bad side-effects like type redefinitions
François Tigeot [Sun, 3 Dec 2017 07:15:04 +0000 (08:15 +0100)]
drm/linux: Add i2c_get_adapdata and i2c_set_adapdata()
François Tigeot [Sun, 3 Dec 2017 06:37:04 +0000 (07:37 +0100)]
drm/linux: Add system_unbound_wq
Sepherosa Ziehau [Sat, 2 Dec 2017 17:13:43 +0000 (01:13 +0800)]
syscons: Unbreak compile w/o splash
Matthew Dillon [Sat, 2 Dec 2017 19:06:30 +0000 (11:06 -0800)]
hammer2 - Fix indefinite dirty chains due to rename
* Do not call cache_setunresolved() on tnch before calling
cache_rename(). Doing so prevents cache_rename() from properly
setting VREF_FINALIZE on the vnode. Since the deleted inode is
no longer in the chain hierarchy the related chains can remain
dirty indefinitely (until the vnode is reused or the filesystem
is unmounted).
* This fixes inmem dirty chain accounting and 'chnmem' stalls.
Matthew Dillon [Sat, 2 Dec 2017 19:05:58 +0000 (11:05 -0800)]
hammer2 - optimize hammer2_pfs_memory_wakeup()
* Optimize hammer2_pfs_memory_wakeup() to use fetchadd instead of
cmpset, reducing contention.
Matthew Dillon [Sat, 2 Dec 2017 09:02:59 +0000 (01:02 -0800)]
hammer2 - Fix rename race
* Fix a rename race in hammer2 which can result in unwanted namecache
overloading. When this occurs, a rename operation can wind up
deleting the same inode more than once.
* This fixes a "hammer2_chain_getparent: no parent" panic in H2.
Reported-by: kerma
zrj [Sat, 2 Dec 2017 17:44:42 +0000 (19:44 +0200)]
top(1): Avoid segfaults on systems with more cores.
Fixes segfaults on 110 cpu core setup for top -M usage.
zrj [Sat, 2 Dec 2017 17:41:04 +0000 (19:41 +0200)]
systat(1): Print VNODE PAGER.
Looks a bit better.
zrj [Sat, 2 Dec 2017 17:40:08 +0000 (19:40 +0200)]
hammer2(8): Document cleanup command.
While there, do some misc whitespace cleanup.
zrj [Sat, 2 Dec 2017 17:38:46 +0000 (19:38 +0200)]
kernel/vfs: Avoid diagnostic line breaks.
Sascha Wildner [Sat, 2 Dec 2017 11:49:45 +0000 (12:49 +0100)]
<sys/systm.h>: Remove bcopyb() prototype.
It was a i386 specific function which was removed in
f4c88b0b86f1810.
Reported-by: zrj
Sascha Wildner [Sat, 2 Dec 2017 08:55:05 +0000 (09:55 +0100)]
pthread_join.3: Document pthread_timedjoin_np() (taken from FreeBSD).
Sascha Wildner [Sat, 2 Dec 2017 07:57:03 +0000 (08:57 +0100)]
pthread_mutex_*.3: Add {get,set}prioceiling to SEE ALSO.
Eitan Adler [Sat, 2 Dec 2017 06:24:18 +0000 (22:24 -0800)]
pf.os: Add OpenBSD:6.1
Obtained From: OpenBSD
Matthew Dillon [Sat, 2 Dec 2017 02:56:06 +0000 (18:56 -0800)]
kernel - Increase syscons history buffer size
* Increase syscons history from 4 screens to 10 screens
(4*rows to 10*rows).
Matthew Dillon [Sat, 2 Dec 2017 02:52:27 +0000 (18:52 -0800)]
kernel - Fix CAM unit allocation race
* Fix an issue where multiple targets can sometimes allocate the
same unit when probed asynchronously. The search and insertion
functions were being independently locked.
Eitan Adler [Fri, 1 Dec 2017 21:29:50 +0000 (13:29 -0800)]
Revert "Remove advertising clause from pr(1)"
This reverts commit
4586ab4e1609825eb2d4503c92578933c3479239.
See https://www.mail-archive.com/svn-src-all@freebsd.org/msg153666.html
Imre Vadász [Sat, 25 Nov 2017 17:25:54 +0000 (18:25 +0100)]
syscons - Partly implement FBIO_BLANK ioctl, for display powersaving.
* Only implement the parts relevant for display powersaving when a KMS
graphics driver is loaded. Adjust the existing V_DISPLAY_* constant
definitions to match the corresponding definitions in FreeBSD.
Eitan Adler [Thu, 30 Nov 2017 08:02:23 +0000 (00:02 -0800)]
Minor fixes to pr(1)
Obtained-from: FreeBSD