Sepherosa Ziehau [Tue, 29 Dec 2015 09:16:51 +0000 (17:16 +0800)]
bridge: Mark callouts MPSAFE
Sepherosa Ziehau [Tue, 29 Dec 2015 08:01:03 +0000 (16:01 +0800)]
ig_hal: Allow enabling debug at runtime
Imre Vadász [Mon, 28 Dec 2015 13:57:18 +0000 (14:57 +0100)]
BUS_SETUP_INTR.9: Mention INTR_NOPOLL flag.
Imre Vadász [Mon, 28 Dec 2015 11:30:31 +0000 (12:30 +0100)]
psm: Remove unused struct sigio *async
Imre Vadász [Mon, 28 Dec 2015 11:08:59 +0000 (12:08 +0100)]
psm: Remove leftover PSM_HOOKAPM #if defined check
François Tigeot [Mon, 28 Dec 2015 21:41:53 +0000 (22:41 +0100)]
agp: Remove support for Sandy Bridge hardware
This GPU family is now fully handled by the drm/i915 driver.
François Tigeot [Mon, 28 Dec 2015 20:46:50 +0000 (21:46 +0100)]
drm/i915: Use generic drm_plane helper functions
* Now than drm plane helpers have been fixed, we can use the generic
drm_plane_update function
* This should fix some mouse cursor corruption and disappearance
issues reported by various testers
François Tigeot [Mon, 28 Dec 2015 20:40:43 +0000 (21:40 +0100)]
drm: Skip vblank wait for legacy cursor updates
This commit fixes an issue with the generic drm_plane_helper_update
function where the mouse cursor position was updated long after the
mouse was actually moved.
Submitted-by: Matthew Dillon <dillon@apollo.backplane.com>
Sascha Wildner [Mon, 28 Dec 2015 16:37:23 +0000 (17:37 +0100)]
kernel/acpi_cpu: Fix argument name.
Sepherosa Ziehau [Mon, 28 Dec 2015 15:17:48 +0000 (23:17 +0800)]
acpi/pstate: Allow user to ignore type 0x80 notify
Some BIOSes just send stupid _PPC updates which do not make
sense, so allow users to ignore the stupidity through tunable
and sysctl.
Sepherosa Ziehau [Mon, 28 Dec 2015 13:55:36 +0000 (21:55 +0800)]
acpi/pstate: Support type 0x80 notify
- Protect power domain states by per-power-domain serializer.
- Protect global P-state setting by the first usable power domain's
serializer.
Sascha Wildner [Mon, 28 Dec 2015 13:41:16 +0000 (14:41 +0100)]
kernel/vga: Remove wrong lwkt_reltoken(). It's not taken at this point.
Sepherosa Ziehau [Mon, 28 Dec 2015 13:00:38 +0000 (21:00 +0800)]
acpi/pstate: Factor out acpi_pst_eval_{ppc,pdl}()
They will be used to handle type 0x80 notify.
Matthew Dillon [Mon, 28 Dec 2015 03:18:54 +0000 (19:18 -0800)]
test - refactor Makefile
* Refactor the Makefile, also generate binaries to /tmp insetead of to the
current directory.
Matthew Dillon [Mon, 28 Dec 2015 03:14:47 +0000 (19:14 -0800)]
test - Add testvblank program
* Test program opens /dev/dri/card0 and uses DRM ioctls to test drm's
vblank wait code.
Matthew Dillon [Mon, 28 Dec 2015 03:12:11 +0000 (19:12 -0800)]
test - cleanup build
* Get rid of -Wall warnings, cleanup Makefile
Matthew Dillon [Mon, 28 Dec 2015 01:01:29 +0000 (17:01 -0800)]
devfs - Fix panic on extra devfs mounts when rules are present
* Fix issue where the rules-check was being made on the root mount
node itself.
* devfs would panic on extra devfs mounts (such as in jails) when
/etc/defaults/devfs.conf contains any rules.
Reported-by: marino
François Tigeot [Sun, 27 Dec 2015 08:12:50 +0000 (09:12 +0100)]
agp: Remove support for Ivy Bridge hardware
This GPU family is now fully handled by the drm/i915 driver.
Matthew Dillon [Sun, 27 Dec 2015 00:11:04 +0000 (16:11 -0800)]
drm - Fix panic on DRM_IOCTL_WAIT_VBLANK
* DRM_IOCTL_WAIT_VBLANK -> drm_wait_vblank() -> DRM_WAIT_ON() -> panic
DRM_WAIT_ON() assumed that the device was locked and tried to unlock
and relock it around the tsleep. However, the ioctl paths that use
this function do not lock the device.
* Remove the unlock/relock sequence.
* Tested on haswell using ioctl call w/vblank.request.type =
_DRM_VBLANK_RELATIVE and vblank.request.sequence = 10. Crash reproduced
before fix, does not occur after fix.
Reported-by: arcade@b1t.name
François Tigeot [Sat, 26 Dec 2015 13:09:06 +0000 (14:09 +0100)]
drm/i915: Upgrade to Linux 4.0
* Basic Skylake support
* Panel Self-Refresh (PSR) now supported on Valleyview and Cherryview
* Preparations for atomic display updates
* Performance improvements on various GPU families, including Cherryview,
Broadwell and Haswell
* GPU frequencies are now kept at a minimum of 450MHz when possible
on Haswell and Broadwell, ensuring a minimum experience level for
various types of workloads
* Improved reset support for gen3/4 GPUs, which should fix some OpenGL
crashes on Core 2 and pre-2012 Atom machines
* Better sound/graphics driver synchronization for audio over hdmi support
* As usual, small bugfixes and stability improvements here and there
François Tigeot [Sat, 26 Dec 2015 09:30:29 +0000 (10:30 +0100)]
drm: Fix previous commit
François Tigeot [Sat, 26 Dec 2015 08:16:27 +0000 (09:16 +0100)]
drm: Create device entries with the "video" group
* Add a new "video" group with id 44
* Make the drm subsystem create /dev/dri/card* devices with this
new group
* FreeBSD and many Linux distributions already do the same thing
Suggested-by: Koop Mast
Partially-obtained-from: FreeBSD
François Tigeot [Sat, 26 Dec 2015 07:36:43 +0000 (08:36 +0100)]
agp: Remove support for Haswell hardware
This GPU family is now fully handled by the drm/i915 driver.
Matthew Dillon [Fri, 25 Dec 2015 21:56:01 +0000 (13:56 -0800)]
libc - fix getcontext bug from last commit
* getcontext() should not save the FP state (which is all scratch),
and was already setting the flags to indicate such, but still calling
the xsave instruction.
Remove the xsave instruction, fixing issues on numerous computers.
* Note that setcontext() will properly restore the FP state if the context
contains valid FP state (i.e. the ucontext was taken from a signal handler
argument).
Reported-by: YRabbit
François Tigeot [Fri, 25 Dec 2015 11:59:39 +0000 (12:59 +0100)]
drm: Make OpenGL usable by everyone
By changing permissions on /dev/dri/card* .
These devices were previously only usable by root or wheel users.
François Tigeot [Fri, 25 Dec 2015 10:57:18 +0000 (11:57 +0100)]
agp: Remove support for Broadwell hardware
This GPU family is now fully handled by the drm/i915 driver.
Sascha Wildner [Fri, 25 Dec 2015 03:30:31 +0000 (04:30 +0100)]
Raise WARNS to 3 for most ACPICA tools.
Sascha Wildner [Thu, 24 Dec 2015 18:25:33 +0000 (19:25 +0100)]
boot0: Fix some typos (driver -> drive).
Alexander Kuleshov [Thu, 24 Dec 2015 13:21:52 +0000 (19:21 +0600)]
sbin/fdisk: cleanups
This patch provides set of cleanups for the sbin/fdisk util.
1. MBRSIGOFF macro removed. Use the DOSMAGICOFFSET macro instead
which is already defined in the <sys/diskmbr.h>.
2. Global variable iotest removed. It was used in the write_sr0()
function before. We checked this variable and it it was set we
just printed information about zero sector and exited from the
write_sr0(). Actually, this variable wasn't set never and never
used anywhere. For this point we already have the `-t` flag
which prevents writing of sector 0.
3. Unused macros removed.
4. Unused functions removed.
5. MAX_SECTORS_PER_TRACK and MIN_SECTORS_PER_TRACK macros are added.
6. Fixed order of DIOCWLABEL ioctl in the write_sr0().
7. Indentation fixed.
Alexander Kuleshov [Wed, 23 Dec 2015 14:22:06 +0000 (20:22 +0600)]
boot0cfg: use getdevpath() instead of custom function
We are using mkrdev function in the boot0cfg.c to prduce a device
path from the given command line argument. The <fstab.h> provides
the getdevpath() function that does the same but in more general
way. Let's use function from the libc instead of custom.
Alexander Kuleshov [Fri, 18 Dec 2015 18:01:13 +0000 (00:01 +0600)]
boot/libi386: use macros from <machine/psl.h> to represent eflags's bits
The libi386's source code contains some checks of the EFLAGS's bits. In
the same time the <machine/psl.h> header file provides macros which
represents these bits. Let's use human readable names instead of
numbers.
Alexander Kuleshov [Thu, 10 Dec 2015 19:23:35 +0000 (01:23 +0600)]
boot0 refactoring
The patch provides refactoring for the sys/boot/pc32/boot0.S
assembly file to imrove readability and comprehensibility of
assembly code.
The main changes are:
Two new symbols added: the _SECTOR_FIELD_OFF which provides
offset for the 'sector' field in CHS and the _DATA_OFF which
provides offset for the boot0 data from the partition table.
We can use these symbols instead of magic numbers in the code.
The second change is updating comments in some place.
The patch was tested as in virtual machine as in real hardware.
Alexander Kuleshov [Tue, 8 Dec 2015 18:38:12 +0000 (00:38 +0600)]
boot0cfg: check result of malloc in read_mbr()
We allocating buffer for MBR in the read_mbr() function. The malloc()
may return NULL, so this patch checks the result of the malloc and
exit with the error if we can't allocate memory.
Besides this we close file descriptor.
Markus Pfeiffer [Thu, 24 Dec 2015 15:30:03 +0000 (15:30 +0000)]
kernel/usb4bsd: Fix device generation in usb_serial
When creating multiple tty devices for a connected usb device, don't
overwrite pregenerated names, in particular don't create multiple
devices with the same name.
François Tigeot [Thu, 24 Dec 2015 14:31:27 +0000 (15:31 +0100)]
agp: Remove support for Valleyview hardware
It is now fully handled by the drm/i915 driver.
Imre Vadasz [Thu, 24 Dec 2015 11:54:39 +0000 (12:54 +0100)]
moused: Read more than 1 byte at a time from the mouse device.
Imre Vadasz [Thu, 24 Dec 2015 11:50:37 +0000 (12:50 +0100)]
moused: Omit superfluous gettimeofday calls when mouse only moves
The gettimeofday() is only needed when a mouse button state changed.
François Tigeot [Thu, 24 Dec 2015 08:56:57 +0000 (09:56 +0100)]
drm: Fix ww mutex crtc locking
* The original code had many problems:
- the ctx wasn't available to drm_modeset_unlock().
- 'struct list_head' was used for both the list head AND the list entry
It's like it was coded to create maximum confusion on top of maximum pain
* drm_modeset_acquire_ctx structure needs a second list which we add
kmalloc()'d entries to to track the extra locks in the EALREADY case
* Replace the reference from the modeset_lock structure with a pointer
to an intermediate (kmalloc'd) structure that references both and turn
the list entry in the lock into a list head
Submitted-by: Matthew Dillon <dillon@apollo.backplane.com>
Sascha Wildner [Thu, 24 Dec 2015 02:51:43 +0000 (03:51 +0100)]
kernel/acpi: Save a newline.
Tomohiro Kusumi [Mon, 21 Dec 2015 13:14:08 +0000 (22:14 +0900)]
sbin/hammer: Remove vol_alloc from volume_info
vol_alloc is a fixed sized space before boot/mem/buf area
that the filesystem doesn't recognize once initialized.
(This area is currently used for nothing)
Tomohiro Kusumi [Mon, 21 Dec 2015 12:56:32 +0000 (21:56 +0900)]
sbin/newfs_hammer: Remove total size arg from format_volume()
Each HAMMER volume doesn't recognize total filesystem size,
so this unused arg isn't necessary when formatting a volume.
Tomohiro Kusumi [Wed, 23 Dec 2015 07:06:53 +0000 (16:06 +0900)]
sbin/hammer: Remove global variable NumVolumes
Only newfs_hammer uses this, but doesn't need to be global.
(Keeping a number of volumes isn't that important either,
because it can be retrieved directly from volume headers or
by counting the number of elements in the volume_info list)
Tomohiro Kusumi [Wed, 16 Dec 2015 14:07:43 +0000 (23:07 +0900)]
sys/vfs/hammer: Add sanity check to volume-del
Sascha Wildner [Tue, 22 Dec 2015 10:19:51 +0000 (11:19 +0100)]
kernel/hpt27xx: Move two files to better names (like hptrr).
Sascha Wildner [Tue, 22 Dec 2015 10:15:41 +0000 (11:15 +0100)]
kernel/igb: Fix build with either IGB_RSS_DEBUG or IGB_TSS_DEBUG.
Matthew Dillon [Tue, 22 Dec 2015 01:10:10 +0000 (17:10 -0800)]
libc - fix makecontext build issues
* Enhance makecontext_quick manual page code example.
* Remove mcontext.S (old get_mcontext and set_mcontext calls) from build.
Matthew Dillon [Mon, 21 Dec 2015 20:17:36 +0000 (12:17 -0800)]
libc - Add quick version for the context management functions.
* Add makecontext_quick(), setcontext_quick(), and swapcontext_quick().
These functions work similarly to the non-quick versions but are designed
for fast synchronous switching. These functions do not mess with the
signal mask or stack at all and do not save or restore scratch registers.
* These functions make no system calls. Switching time can be as low as
~5 nanoseconds.
* These functions also provide optimizations for coroutine fall-through
linkages.
* Note that the coroutine / start-function callback arguments are somewhat
different. Start functions are called back as cofunc(ucp, arg). Var-args
are not supported and the stack is minimally aligned and initialized.
* Remove the old internal set_mcontext() and get_mcontext() routines.
Matthew Dillon [Mon, 21 Dec 2015 08:33:54 +0000 (00:33 -0800)]
libc - Fix bugs in getcontext(), setcontext(), and swapcontext()
* Fix multiple bugs revealed by qemu's use of these functions. Most of
these fixes are accomplished by calling sigreturn(uctx) to restore the
state instead of trying to roll our own in userland. This won't be much
slower (if at all) because we had to save and restore the signal state
in the userland code anyway, so we could not avoid making at least one
system call.
Using sigreturn() handles the signal mask atomicy for us so we don't have
to deal with it and fixes numerous other issues. Along with this change,
adjust getcontext() and makecontext() to fill out additional important
fields in the ucontext that sigreturn() inspects.
* Fixes two stack corruption bugs. First, getcontext() was calling
get_mcontext() and get_mcontext() was setting up the setcontext return
state to return 1 ... from get_mcontext(), NOT from getcontext(). If
normal operations or signals mess with the stack, the double return
will not work. Oops.
Secondly, getcontext scribbled over the red-zone in a way that is not
permitted.
* setcontext() was restoring the context as saved by makecontext() or
getcontext(), but setcontext() can also be called with the ucontext
from the signal handler which requires a full restore. setcontext()
was not restoring FPU or scratch registers or rflags.
* Fixes signal restoration bug and corruption that can mess up emulation
in qemu.
* Fixes issues with qemu related to SMP startup and lack of preemption.
Reported-by: ivadasz
Matthew Dillon [Mon, 21 Dec 2015 08:31:53 +0000 (00:31 -0800)]
Makefile.usr - Allow /usr/src to pre-exist
* Check for /usr/src/.git instead of /usr/src when generating warnings.
Imre Vadasz [Mon, 21 Dec 2015 21:38:10 +0000 (22:38 +0100)]
tty_pty - The tty_token isn't needed in ptckqfilter().
Imre Vadasz [Mon, 21 Dec 2015 21:30:13 +0000 (22:30 +0100)]
kernel - Mark sig_filtops kqueue filter as mpsafe.
Imre Vadasz [Mon, 21 Dec 2015 21:24:19 +0000 (22:24 +0100)]
drm: Mark drmfiltops mpsafe, remove unneeded locking in kqueue handlers.
Sascha Wildner [Mon, 21 Dec 2015 20:48:18 +0000 (21:48 +0100)]
<sys/param.h>: Bump __DragonFly_version for the unionfs removal.
Some public headers were touched.
Sascha Wildner [Mon, 21 Dec 2015 20:43:58 +0000 (21:43 +0100)]
kernel: Remove VT_UNION.
Sascha Wildner [Mon, 21 Dec 2015 20:43:05 +0000 (21:43 +0100)]
kernel: Adjust some comments to the unionfs removal.
Sascha Wildner [Mon, 21 Dec 2015 20:33:03 +0000 (21:33 +0100)]
kernel: Remove the old unionfs that was unhooked from the build since 2004.
Approved-by: dillon
Sepherosa Ziehau [Mon, 21 Dec 2015 12:35:12 +0000 (20:35 +0800)]
igb.4: Update according to the recent TX/RX MSI-X handling work
Sepherosa Ziehau [Sat, 19 Dec 2015 01:50:30 +0000 (09:50 +0800)]
ig_hal/igb: Merge Intel igb-2.4.3
- Add one more device
- Fix settings for i354
Tested-by: dillon@ (I354, I217[emx]) me (I350, 82580, 82576, 82575)
Sepherosa Ziehau [Mon, 21 Dec 2015 11:22:19 +0000 (19:22 +0800)]
igb: Optimize the aggregated TX/RX MSI-X handler a bit
By checking whether there are any TX descs to collect or not, before
holding the TX ring serializer.
This requires that igb_txeof() is only called in interrupt handler,
thus we remove the igb_txeof() from igb_start(), which does nothing
most of the time. Removal of igb_txeof() from igb_start() also allows
us to simplify the TX ring OACTIVE detection, so several unused water
marks are also removed.
Sepherosa Ziehau [Mon, 14 Dec 2015 03:04:06 +0000 (11:04 +0800)]
igb: Partly rework MSI-X support to bypass one serializer
For aggregated TX/RX MSI-X handler, there is no need to use
an independent serializer; using RX ring's serializer just
works (well, this driver's MSI-X support was added when we
still lacked of experience about how to serialize aggregated
TX/RX MSI-X handler).
Enable aggregated TX/RX MSI-X handling by default to avoid
extra TX interrupt (though its pretty low for TCP streams).
Sascha Wildner [Sun, 20 Dec 2015 22:45:39 +0000 (23:45 +0100)]
kernel/pci: Remove old compatibility shims.
The last drivers using this were removed in
d69d461d812.
Sepherosa Ziehau [Sun, 20 Dec 2015 10:26:12 +0000 (18:26 +0800)]
kqueue/ufs: Remove unnecessary klist cast
Sepherosa Ziehau [Sun, 20 Dec 2015 10:19:07 +0000 (18:19 +0800)]
socket: Don't use NOTE_OOB as hint for KNOTE upon OOB
It is not necessary, and would cause penalty if there was knote
processing contention. Add comment about it.
Sepherosa Ziehau [Sun, 20 Dec 2015 10:02:40 +0000 (18:02 +0800)]
kqueue: Hint is not used by socket filters
Sepherosa Ziehau [Sun, 20 Dec 2015 09:47:01 +0000 (17:47 +0800)]
kqueue: Remove unapplied comment
Sepherosa Ziehau [Sun, 20 Dec 2015 09:35:59 +0000 (17:35 +0800)]
kqueue: Minor style changes
Sepherosa Ziehau [Sun, 20 Dec 2015 09:35:17 +0000 (17:35 +0800)]
kqueue: Avoid duplicate KN_PROCESSING clearing
Sepherosa Ziehau [Sun, 20 Dec 2015 02:17:19 +0000 (10:17 +0800)]
kqueue: knote_alloc will never fail
Sepherosa Ziehau [Sun, 20 Dec 2015 02:10:11 +0000 (10:10 +0800)]
kqueue: Fix description for kern.kq_checkloop
Matthew Dillon [Sat, 19 Dec 2015 21:05:55 +0000 (13:05 -0800)]
kernel - Reduce lwp_signotify() latency
* lwp_signotify() was not issuing an IPI to another cpu if the target
thread was in a run state, preventing that thread from seeing the
signal for roughly one scheduler tick.
* This interferes with programs like qemu which depend on signaling
between threads for the timer tick and numerous other things,
causing timers to behave poorly.
* Fix by issuing the necessary IPI.
Reported-by: Imre Vadasz
Testing-by: Imre Vadasz (+ a bug fix to the original patch)
Imre Vadasz [Sat, 19 Dec 2015 16:54:20 +0000 (17:54 +0100)]
syscons: Remove leftover CDEV_MAJOR #define from sysmouse.c
Sascha Wildner [Sat, 19 Dec 2015 19:27:39 +0000 (20:27 +0100)]
Revert "Sync ACPICA with Intel's version
20151218."
This reverts commit
2762423991074ed996c5c4488491cb3ef18c25ea.
It caused a panic on one box and enabling module-level code grouping
again didn't fix that, so it needs further investigation first.
Tomohiro Kusumi [Sat, 19 Dec 2015 14:04:50 +0000 (23:04 +0900)]
sys/gnu/vfs/ext2fs: Remove double initialization of ext2 inode flag
Spotted-by: swildner
Sascha Wildner [Sat, 19 Dec 2015 11:49:35 +0000 (12:49 +0100)]
kernel/acpica: In notify handlers, always report on unknown notifies.
Also, make the messages more uniform.
François Tigeot [Sat, 19 Dec 2015 10:47:24 +0000 (11:47 +0100)]
Revert "drm: Stop using a taskqueue to restore syscons content"
This reverts commit
3018b28f1911f36e342118d9a446488cbcdaf118.
It causes instants reboot when VT switching on some systems.
Noticed-by: YRabbit
Sascha Wildner [Sat, 19 Dec 2015 10:41:00 +0000 (11:41 +0100)]
Sync ACPICA with Intel's version
20151218.
* Execute "module-level code" as ACPI tables are loaded into the
namespace during initialization and install the default operation
region handlers for the SystemMemory, SystemIO and PCI_Config
address spaces before any ACPI tables are loaded (in order to
enable module-level code to access these address spaces). Also,
several changes to the internal _REG support and to utilities
in conjunction with these changes.
* Various other fixes and features.
For a more detailed list, please see sys/contrib/dev/acpica/changes.txt.
François Tigeot [Sat, 19 Dec 2015 07:48:41 +0000 (08:48 +0100)]
drm: Stop using a taskqueue to restore syscons content
A regular function is perfectly fine
Sascha Wildner [Fri, 18 Dec 2015 21:47:33 +0000 (22:47 +0100)]
kernel/drm: Clean up include search path situation in Makefiles.
Bill Yuan [Fri, 18 Dec 2015 01:10:04 +0000 (01:10 +0000)]
ipfw3: fix for kernel build
Bill Yuan [Thu, 17 Dec 2015 09:06:54 +0000 (09:06 +0000)]
ipfw3: logging feature
ifconfig ipfw0 create
ipfw3 add allow log 0 icmp
support max=9 pseudo ipfw interfaces.
the logged packets header will be 0x41 & 0x42.
the logged frames can keep the original MAC.
Sascha Wildner [Wed, 16 Dec 2015 02:06:19 +0000 (03:06 +0100)]
crunch: Raise WARNS to 3.
Sascha Wildner [Wed, 16 Dec 2015 02:06:00 +0000 (03:06 +0100)]
mountd/crunchgen: Remove some unused variables.
Matthew Dillon [Wed, 16 Dec 2015 01:17:44 +0000 (17:17 -0800)]
i915 - Add delay after attach to avoid console/X races
* Add a delay in the i915 attach to give the kms_console time to
initialize before X starts to muck around with the gpu.
* Appears to avoid deadlock-on-startup problems when X itself loads
the i915 driver (verses it being preloaed).
Matthew Dillon [Tue, 15 Dec 2015 20:17:47 +0000 (12:17 -0800)]
nrelease - Change target from /usr/release to /usr/obj/release
* Change the nrelease build target from /usr/release to /usr/obj/release.
This is to help cleanup the root mount. Most people don't need to
backup the release build target.
Matthew Dillon [Tue, 15 Dec 2015 20:11:31 +0000 (12:11 -0800)]
kernel - Improve kernel trap message
* Improve the 'kernel trap with interrupts disabled' message. Include
the thread td_comm and %rip. This way if the trap gets into a loop
and fails to panic or dump we may be able to track it down from the
dmesg buffer retained after a reset.
Matthew Dillon [Tue, 15 Dec 2015 20:10:00 +0000 (12:10 -0800)]
kernel - Change where dump context is saved
* Save the dump context a little earlier in the panic to improve
chances that post-morten kgdb can print the stack backtrace.
* Use a function union for variable arguments calls from ddb>
Sascha Wildner [Tue, 15 Dec 2015 16:40:59 +0000 (17:40 +0100)]
mtree: Use spaces for indenting.
Sascha Wildner [Tue, 15 Dec 2015 10:33:35 +0000 (11:33 +0100)]
Update the pciconf(8) database.
December 10, 2015 snapshot from http://pciids.sourceforge.net/
Tomohiro Kusumi [Mon, 14 Dec 2015 13:22:36 +0000 (22:22 +0900)]
sys/vfs/hammer: Use HAMMER_DEF_LOCALIZATION
for ip localization of root PFS instead of 0.
(see localization arg of hammer_get_inode() for the root inode
of root PFS, which is eventually set to ip->obj_localization,
it doesn't use 0)
Tomohiro Kusumi [Sun, 13 Dec 2015 15:35:28 +0000 (00:35 +0900)]
sbin/hammer: Check existence of PFS#0 when creating PFS
hammer_cmd_pseudofs_create() checks from PFS#0 to PFS#0xffff
to find available PFS#, but PFS#0 must always exist.
Tomohiro Kusumi [Sun, 13 Dec 2015 15:15:08 +0000 (00:15 +0900)]
sys/vfs/hammer: Add HAMMER_ROOT_PFSID macro
Explicitly show PFS#0 is root PFS.
Matthew Dillon [Mon, 14 Dec 2015 07:29:02 +0000 (23:29 -0800)]
installer - use a more modern mount setup for UFS and HAMMER (2)
* Fix bugs last commit. Muffed up fstab generation and forgot to
remove an if (hammer) from the loader.conf crypto setup. Also
had to mkdir /dev on the target.
* Fixes boot tested w/fresh installs.
Matthew Dillon [Mon, 14 Dec 2015 03:18:47 +0000 (19:18 -0800)]
installer - use a more modern mount setup for UFS and HAMMER.
* Rewrite a large chunk of the disklabeling and mount point code.
UFS now gains a separate /boot partition, avoiding issues with
the boot loader if the user desires to install a large UFS root on
a drive.
* Normalize the mount mechanics for both UFS and HAMMER. Instead of
using PFSs on HAMMER, we create two large partitions by default:
One is the root partition, the other is /build.
The /build partition holds major elements of the system which would
normally not have to be backed up:
/var/tmp (from /build/var.tmp)
/var/cache (from /build/var.cache)
/var/crash (from /build/var.crash)
/var/spool (from /build/var.spool)
/var/log (from /build/var.log)
/usr/obj (from /build/usr.obj)
The root partition holds all remaining major directories, including the
base /var.
There are several reasons for this. Generally speaking, stuff in /home,
/usr and most of the stuff in /var is critical to system operation and
user happiness, and it makes little sense to separate it out from the root
mount.
We pick-out the less critical directories and place them on /build,
using NULL mounts to mount them in their expected locations.
* Users can easily make adjustments post-install without having to mess
around with PFSs, and can make simple adjustments pre-install.
* Drives smaller than around 40GB will not create a separate /build
partition by default, but will still create a /build directory in the
root partition and generate the same nullfs mounts. This makes it easier
for the user to adjust to a larger configuration later on if desired.
* This also improves crash recovery mechanics, increasing the chance that
the root partition will be able to mount with minimal recovery work.
* We now use a tmpfs filesystem for /tmp by default. /var/tmp is mounted
from storage. Again, the user can change this easily post-install.
* Calculate better values for swap, root, and /build, based on the size
of the slice being installed to. The /build directory will cap-out
at around 20GB leaving. Swap will be made smaller if the root partition
seems to small, and so forth.
Some swap is always configured. Swap is a very useful thing to have,
even if you have tons of memory, because there will always be a certain
number of always-idle pages from idle services laying around.
* Remove /dev from sources.conf, it is no longer appropriate to try to
cpdup /dev. Fixes a cpdup error.
* UFS root can now be encrypted (it couldn't before), because the UFS
install now splits out a separate /boot partition.
* Tested w/non-crypto UFS and HAMMER install, crypto UFS and HAMMER install,
and with small and large drives.
Sepherosa Ziehau [Sat, 12 Dec 2015 12:09:13 +0000 (20:09 +0800)]
inet/mcast: Don't free inp_moptions in ip_setmoptions()
This memory foot print optimization does not save much memory for
us, but it could cause a lot of trouble for in_pcbladdr_find().
Tomohiro Kusumi [Sun, 13 Dec 2015 13:17:45 +0000 (22:17 +0900)]
sys/vfs/hammer: Rename resv->flush_group to flg_no
Not using flush_group; for int is grep friendly since hammer
mostly uses flush_group; for hammer_flush_group_t variables.
Tomohiro Kusumi [Sat, 12 Dec 2015 14:33:39 +0000 (23:33 +0900)]
sys/vfs/hammer: Remove unnecessary casts
These are all int minus int where both ints are flush group #.
Tomohiro Kusumi [Sun, 13 Dec 2015 10:49:30 +0000 (19:49 +0900)]
sys/vfs/hammer: Don't let ioctl(HAMMERIOC_SET_PSEUDOFS) create PFS in PFS
hammer pfs-master|slave have been preventing users from creating
a PFS in non-root PFS, but since kernel HAMMER code also assumes
the parent inode of (non-root)PFS root inode has 0 for ip localization,
ioctl(HAMMERIOC_SET_PSEUDOFS) itself should avoid that too.
This commit doesn't affect HAMMER userspace commands because
hammer pfs-master|slave prevent creating a PFS in PFS prior to
calling ioctl(HAMMERIOC_SET_PSEUDOFS). It just makes better sense
to have this check in kernel space as well since one could write
its own userspace program that directly calls ioctl without using
hammer userspace code.
Also see
5b4785a6.
Tomohiro Kusumi [Sun, 13 Dec 2015 10:30:49 +0000 (19:30 +0900)]
sbin/hammer: Rename sbin/hammer/cmd_pseudofs.c to cmd_pfs.c
The kernel side of PFS code that implements ioctl is called
sys/vfs/hammer/hammer_pfs.c, and all hammer pfs commands are
pfs-xxx. It's more natural to have cmd_pfs.c.
(HAMMER2 has sbin/hammer2/cmd_pfs.c)
The names of functions remain pseudofs since that's the way
functions are named in the kernel too.
Sascha Wildner [Sun, 13 Dec 2015 13:30:30 +0000 (14:30 +0100)]
kernel/sound: Add back intr_config_hook descriptions.
Sascha Wildner [Sun, 13 Dec 2015 13:21:01 +0000 (14:21 +0100)]
kernel/iwm: Add intr_config_hook description.