Samuel J. Greear [Tue, 13 Jul 2010 11:07:40 +0000 (11:07 +0000)]
kernel - Remove selrecord()
* selrecord is no longer a necessary component of event propogation, all
interested parties are now added to a klist ala kqueue.
Samuel J. Greear [Tue, 13 Jul 2010 11:06:07 +0000 (11:06 +0000)]
kernel - Remove legacy vnode poll support
* Add an appropriate call to KNOTE() to wake up listeners when a vnode is
revoked, replacing a selwakeup().
Samuel J. Greear [Tue, 13 Jul 2010 11:02:25 +0000 (11:02 +0000)]
dev - dsp - Remove unnecessary selrecord call
Samuel J. Greear [Tue, 13 Jul 2010 10:40:16 +0000 (10:40 +0000)]
kern - Make socket_wait() actually work
* Do better initialization of a new kq so we can use one occupying non-zero'd
memory.
Samuel J. Greear [Mon, 12 Jul 2010 03:38:36 +0000 (03:38 +0000)]
Merge branch 'master' into kq_devices
Samuel J. Greear [Mon, 12 Jul 2010 02:56:57 +0000 (02:56 +0000)]
kernel - Tear out socket polling
* Remove existing (now legacy) code that implements socket polling, kq
filters are now the "One True (and only) Way"
* Implement a new socket_wait() that can be used to wait for data to arrive
on a single descriptor with an optional timeout.
Alex Hornung [Sun, 11 Jul 2010 21:39:24 +0000 (22:39 +0100)]
rc.conf - add lvm and udevd related settings
Alex Hornung [Sun, 11 Jul 2010 21:27:13 +0000 (22:27 +0100)]
rc.d - add lvm rc script
* Add an rc.d script for lvm taken from NetBSD.
* Drop the dependency of udevd on syslog since it's not critical anyways
* to avoid a circular dependency.
Alex Hornung [Sun, 11 Jul 2010 19:57:13 +0000 (20:57 +0100)]
libdevattr & udevd - add man pages
Alex Hornung [Sun, 11 Jul 2010 00:01:41 +0000 (01:01 +0100)]
libdm - restore libdm-netbsd.h
* libdm-netbsd.h was accidentally deleted a few commits ago
Alex Hornung [Sat, 10 Jul 2010 23:06:44 +0000 (00:06 +0100)]
mkinitrd - improve man page a bit
* Mention the vfs.root.realroot loader tunable and how to use it,
including the currently supported types of root.
Alex Hornung [Sat, 10 Jul 2010 15:13:37 +0000 (16:13 +0100)]
initrd - minor fixes
* mount the new root as read-only so that fsck doesn't complain and
drop us to single-user mode.
* drop a few unnecessary tools from the initrd
* Remove a debug printf from the mini_init.
* Mount the device as read-only in rcmount_crypt since fsck and so on
expect it that way.
Alex Hornung [Sat, 10 Jul 2010 21:59:41 +0000 (22:59 +0100)]
lvm - use libdevattr for device cache checks
* Improve the device checking of devices that go into that cache and
that don't by using libdevattr and the tagged stuff.
Alex Hornung [Sat, 10 Jul 2010 09:12:35 +0000 (10:12 +0100)]
udev - Tag some subsystems/drivers
* While here, fix a number of bugs in the udev kernel implementation.
Alex Hornung [Fri, 9 Jul 2010 18:36:57 +0000 (19:36 +0100)]
dm - Bind into build system, fix small problem
* Bind into the kernel build system.
* Make cmd_fn static, so it doesn't interfere with udev's cmd_fn
Alex Hornung [Wed, 7 Jul 2010 22:31:26 +0000 (23:31 +0100)]
initrd - Update for LVM root support
* Also add support for some generic mounting of local volumes
(configured via the loader tunable vfs.root.realroot) and scriptable
mounting of other kinds of volumes.
* Add some more tools to the default mkinitrd set
* Add support to mount crypt volumes
Alex Hornung [Tue, 6 Jul 2010 22:19:55 +0000 (23:19 +0100)]
mkinitrd - add dm-related tools
Alex Hornung [Wed, 7 Jul 2010 22:28:46 +0000 (23:28 +0100)]
vfs_conf - export vfs.root.realroot via sysctl
* export the tunable vfs.root.realroot via vfs.real_root sysctl.
Alex Hornung [Fri, 9 Jul 2010 08:14:31 +0000 (09:14 +0100)]
lvm/dm - clean up debug, fix open bug
* Clean up debug code and change it to log_verbose, mostly. Also remove
some of the older, now irrelevant, comments.
* For dm, add a sysctl and tunable to enable debugging (debug.dm_debug)
* in the dragonfly filter, open the device early enough, and definitely
before closing it ;)
Alex Hornung [Tue, 6 Jul 2010 19:58:36 +0000 (20:58 +0100)]
dm - General printout cleanup
Alex Hornung [Sun, 4 Jul 2010 22:02:17 +0000 (23:02 +0100)]
dm_target_crypt - Make compatible with luks
* Make dm_target_crypt compatible with cryptsetup+luks, or at least with
the main features.
Alex Hornung [Thu, 8 Jul 2010 08:11:46 +0000 (09:11 +0100)]
cryptsetup - Port to DragonFly
Alex Hornung [Sun, 4 Jul 2010 19:56:02 +0000 (20:56 +0100)]
cryptsetup - Delete unneeded files
Alex Hornung [Sun, 4 Jul 2010 08:33:28 +0000 (09:33 +0100)]
cryptsetup - add our READMEs
Alex Hornung [Sun, 4 Jul 2010 08:21:46 +0000 (09:21 +0100)]
Import cryptsetup-1.1.2
Alex Hornung [Sat, 3 Jul 2010 22:39:32 +0000 (23:39 +0100)]
lvm2 stuff - bind into build system
* Bind all the lvm2 stuff into the build system and get rid of useless
lvm2tools.mk.
Alex Hornung [Sat, 3 Jul 2010 22:38:16 +0000 (23:38 +0100)]
libdm - fix two warnings
* Fix to warnings related to devname visibility.
libdm-dragonfly-iface foo3
Alex Hornung [Sun, 27 Jun 2010 01:10:19 +0000 (02:10 +0100)]
dm - Add crypt target
* Add an initial crypt target. It's WIP, full of bugs, but is a general
outline of how I want to approach the crypt target for dm.
* As per Aggelos' recommendation, I'm using pbkdf2 and hmac sha from
other crypto implementations instead of rolling my own, for good
cryptography's sake :P
Alex Hornung [Wed, 2 Jun 2010 11:20:35 +0000 (11:20 +0000)]
include - Install dm includes
Alex Hornung [Thu, 8 Jul 2010 08:11:13 +0000 (09:11 +0100)]
lvm2 - port to DragonFly
Alex Hornung [Wed, 2 Jun 2010 10:13:06 +0000 (10:13 +0000)]
dm - Port to DragonFly
* port the device mapper kernel support to DragonFly
Alex Hornung [Tue, 27 Apr 2010 19:13:09 +0000 (19:13 +0000)]
dm - Import verbatim from NetBSD
Alex Hornung [Wed, 2 Jun 2010 10:22:50 +0000 (10:22 +0000)]
Import lvm2 from NetBSD
Samuel J. Greear [Sun, 11 Jul 2010 17:24:11 +0000 (17:24 +0000)]
kernel - Tear out descriptor polling
* Remove existing (now legacy) code that implements descriptor polling, kq
filters are now the "One True (and only) Way"
Samuel J. Greear [Sun, 11 Jul 2010 17:03:11 +0000 (17:03 +0000)]
kernel - Tear out vfs polling
* Remove existing (now legacy) code that implements vfs polling, kq filters
are now the "One True (and only) Way"
Samuel J. Greear [Sun, 11 Jul 2010 16:23:55 +0000 (16:23 +0000)]
kernel - Tear out device polling
* Remove existing (now legacy) code that implements device polling, kq filters
are now the "One True (and only) Way"
* Add dummy write filters (always true) for devices: targ, vinum, snp, tw
and apm
Samuel J. Greear [Sun, 11 Jul 2010 14:07:28 +0000 (14:07 +0000)]
net - Add dummy kq write support to tun and tap
* Makes tun and tap always report writeable if polled via a kq-enabled
interface.
Samuel J. Greear [Sun, 11 Jul 2010 14:06:27 +0000 (14:06 +0000)]
dev - Mask false uninitialized variable warning
Sascha Wildner [Sun, 11 Jul 2010 09:21:43 +0000 (11:21 +0200)]
man(1): Lots of cleanup.
Remove 'register', ansify, remove dead code for Xenix and whatnot etc.
No functional changes.
Raise WARNS to 6.
Alex Hornung [Sat, 10 Jul 2010 15:13:00 +0000 (16:13 +0100)]
udevd - add pidfile & SIGTERM handler
* Add the creation of a pidfile and a SIGTERM handler that disposes of
the pidfile.
* add pidfile to rc script
Alex Hornung [Sat, 10 Jul 2010 09:12:22 +0000 (10:12 +0100)]
libdevattr - install include
Alex Hornung [Sat, 10 Jul 2010 08:41:40 +0000 (09:41 +0100)]
udevd - bring into sbin, add rc script
* Bring udevd into sbin so it can be used very early on, for example in
the initrd environment.
* Add an rc script for udevd.
* Remove debugging flags from libdevattr Makefile
Alex Hornung [Sat, 10 Jul 2010 21:10:27 +0000 (22:10 +0100)]
tmpfs - fix failing writes with no swap
* When no swap is available, tmpfs was trying to use bawrite, causing
some further problems down the line. We avoid this by now forcing the
use of buwrite() for this case (no swap).
Suggested-by: Matt Dillon
Nicolas Thery [Sat, 10 Jul 2010 08:43:31 +0000 (10:43 +0200)]
kernel - fix crash in smb mount
The samba kernel-side daemon smbiod is created with
kthread_create_compat().
Kernel threads created with kthread_create_compat() have no td_ucred, as
other kernel threads, but have td_proc != NULL because this function
under the hood forks the process 0.
prison_replace_wildcard() was assuming that if td_proc != NULL it is
dealing with a user thread that has a valid td_ucred thus causing a NULL
ptr dereference when operating on kthread_create_compat()-threads.
Reported-and-fixed-by: Tero Jaasko
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1790>
Matthew Dillon [Fri, 9 Jul 2010 21:08:23 +0000 (14:08 -0700)]
kernel - kqfilter - Fix edge-case lockup in kern_kevent()
* An edge case where the marker can wind up at the head of
a non-empty event list containing only spurious events. This
causes an endless loop to be entered because only the sleep
case moves the marker.
* If no events were processed and we loop the marker is now
moved, fixing the problem.
Matthew Dillon [Fri, 9 Jul 2010 05:19:06 +0000 (22:19 -0700)]
kernel - Fix kqfilter error return codes
* Some kqfilters returned an Exxx error, others return 1 on error,
and the device kq code returned -1 on error.
* All kqfilters now return a proper Exxx error.
* When an EVFILT is not implemented, EOPNOTSUPP is now returned.
EPERM is no longer returned.
Matthew Dillon [Fri, 9 Jul 2010 04:46:52 +0000 (21:46 -0700)]
kernel - implement serialno for kqueue poll handling part 1/2
* The kqueue implementation for the poll system call was improperly
triggering on spurious events.
* Adjust the poll support code to implement a serial number scheme
similar to how the select code works. The poll array index is also
encoded.
* poll() handles unsupported POLLPRI and POLLRDBAND requests differently
from select(). poll() ignores these requests if they are not supported
(select returns an error).
Allow kqfilter functions to return EPERM or EOPNOTSUPP to indicate
an unsupported filter. Return values will be fixed in part 2.
Matthew Dillon [Fri, 9 Jul 2010 00:37:24 +0000 (17:37 -0700)]
Merge remote branch 'crater/master' into kq_devices
Matthew Dillon [Thu, 8 Jul 2010 23:04:25 +0000 (16:04 -0700)]
dev - Properly propogate wakeup events for ums
* The last commit had a minor problem. It turns out that the
selwakeup() code does not generate a kqueue event or wake it up
if no select pid was set, and since select() now uses kqueue no
select pid will ever be set.
* Calling KNOTE() directly solves the problem.
Alex Hornung [Thu, 8 Jul 2010 21:36:57 +0000 (22:36 +0100)]
mkinitrd - make use of lt
Alex Hornung [Thu, 8 Jul 2010 21:24:02 +0000 (22:24 +0100)]
lt - add new tree-like utility
* lt shows the directory structure below some specified directory much
like the tree utility does.
Alex Hornung [Sun, 4 Jul 2010 13:05:58 +0000 (14:05 +0100)]
libmd - add sha512, fix warnings in tests
* Add a SHA512 implementation taken from sys/crypto/sha2.
* Fix the test driver warnings up to the set WARNS level.
Alex Hornung [Sun, 4 Jul 2010 22:37:18 +0000 (23:37 +0100)]
libc - correct pthread_once stub
* Make the pthread_once stub in libc work correctly.
* This fixes an issue with pthread_once not being called even once in
libprop for programs not linked against lpthread.
Suggested-by: Simon 'corecode' Schubert
Obtained-from: NetBSD
Samuel J. Greear [Thu, 8 Jul 2010 16:53:09 +0000 (16:53 +0000)]
dev - Properly propogate wakeup events for ums
* No longer conditionalize the call to selwakeup when new data is available,
the kq subsystem will sort out whether a wakeup really needs to happen or
not.
Matthew Dillon [Thu, 8 Jul 2010 05:15:05 +0000 (22:15 -0700)]
kernel - skip PG_MARKER vm pages.
* The contigmalloc code was improperly interpreting PG_MARKER
VM pages, resulting in an infinite blocking condition.
Samuel J. Greear [Wed, 7 Jul 2010 15:57:10 +0000 (15:57 +0000)]
Merge branch 'master' into kq_devices
Sascha Wildner [Wed, 7 Jul 2010 15:45:06 +0000 (17:45 +0200)]
devfs(4): Remove a bogus assertion (nchildren is unsigned, hence can't be <0).
In-discussion-with: alexh
Samuel J. Greear [Wed, 7 Jul 2010 15:46:37 +0000 (15:46 +0000)]
bus - Add kq support to usb bus
Samuel J. Greear [Wed, 7 Jul 2010 15:46:01 +0000 (15:46 +0000)]
dev - Add kq support to usbmisc devices
* ugen, uhid, ums and uscanner
Samuel J. Greear [Wed, 7 Jul 2010 14:12:01 +0000 (14:12 +0000)]
i4b - Add kq support
Samuel J. Greear [Wed, 7 Jul 2010 12:54:36 +0000 (12:54 +0000)]
kernel - Add kq support to ctty
Samuel J. Greear [Wed, 7 Jul 2010 12:29:30 +0000 (12:29 +0000)]
dev - Add kq support to drm
Samuel J. Greear [Wed, 7 Jul 2010 12:17:34 +0000 (12:17 +0000)]
bus - Add kq support to fwdev
Matthew Dillon [Wed, 7 Jul 2010 04:29:24 +0000 (21:29 -0700)]
kernel - Fix altq for x86_64 vkernel build
* Remove i386-conditionalization for TSC access
* Probably also fixes x864_64 normal kernel build too.
Matthew Dillon [Wed, 7 Jul 2010 04:28:50 +0000 (21:28 -0700)]
kernel - MPSAFE work - Basic tokenization for vkernel x86_64 pmap.c
* Tokenize the vkernel x86_64 pmap.c file
Matthew Dillon [Tue, 6 Jul 2010 04:31:09 +0000 (21:31 -0700)]
kernel - MPSAFE work - Basic tokenization for vkernel i386 pmap.c
* Tokenize the vkernel i386 pmap.c file
* Add minor documentation to x86_64 pmap.c
Sascha Wildner [Tue, 6 Jul 2010 01:22:38 +0000 (03:22 +0200)]
sys/conf/kmod.mk: Adjust the genassym stuff a wee bit.
This should fix 'make -j X buildkernel'.
Reported-by: sephe
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1792>
Modeled-after: FreeBSD
Sascha Wildner [Mon, 5 Jul 2010 12:42:03 +0000 (14:42 +0200)]
/usr/Makefile: Adjust to our new handling of the pkgsrc GIT repository.
Samuel J. Greear [Mon, 5 Jul 2010 07:53:29 +0000 (07:53 +0000)]
dev - Add kq support to hotplug
Samuel J. Greear [Mon, 5 Jul 2010 07:39:27 +0000 (07:39 +0000)]
dev - Add kq support to spic
Samuel J. Greear [Mon, 5 Jul 2010 07:26:11 +0000 (07:26 +0000)]
dev - Add kq support to tw
Samuel J. Greear [Mon, 5 Jul 2010 07:13:20 +0000 (07:13 +0000)]
dev - Add kq support to cmx
Samuel J. Greear [Mon, 5 Jul 2010 06:45:51 +0000 (06:45 +0000)]
dev - Add kq support to bktr
Samuel J. Greear [Mon, 5 Jul 2010 06:18:31 +0000 (06:18 +0000)]
dev - Add kq support to cxm
Samuel J. Greear [Mon, 5 Jul 2010 04:17:09 +0000 (04:17 +0000)]
dev - Add kq support to aac
Samuel J. Greear [Mon, 5 Jul 2010 04:06:50 +0000 (04:06 +0000)]
vinum - Add kq support
Samuel J. Greear [Mon, 5 Jul 2010 03:39:35 +0000 (03:39 +0000)]
dev - Add kq support to snp
Samuel J. Greear [Mon, 5 Jul 2010 03:38:53 +0000 (03:38 +0000)]
dev - Add kq support to mse
Samuel J. Greear [Mon, 5 Jul 2010 03:38:10 +0000 (03:38 +0000)]
dev - Add kq support to asc
Samuel J. Greear [Mon, 5 Jul 2010 03:31:47 +0000 (03:31 +0000)]
linux - Finish bringing epoll in sync with kevent changes
* Description extraction now happens outside of kern_event()
Samuel J. Greear [Mon, 5 Jul 2010 02:25:58 +0000 (02:25 +0000)]
apm - Add kq support
Samuel J. Greear [Mon, 5 Jul 2010 02:25:09 +0000 (02:25 +0000)]
dev - Add kq support to kbd
Samuel J. Greear [Mon, 5 Jul 2010 01:46:29 +0000 (01:46 +0000)]
filters - Minor fixes
* Don't fall-through in psm kqfilter setup struct
* Assign correct address to kn_hook in tun setup function
Stathis Kamperis [Sun, 4 Jul 2010 06:19:44 +0000 (09:19 +0300)]
top: Fix count of process states
The count was not in correspondence with our enumeration constants
for the process states. For example, an "active" process could be
counted as "running".
Only tested with i386/UP :)
Sascha Wildner [Sun, 4 Jul 2010 19:07:30 +0000 (21:07 +0200)]
acpi_{hp,thinkpad}.4: Fix sysctl names.
Sascha Wildner [Sun, 4 Jul 2010 18:45:45 +0000 (20:45 +0200)]
ral.4: We don't have %U, so use %O for URLs for now.
Sascha Wildner [Sun, 4 Jul 2010 18:43:09 +0000 (20:43 +0200)]
acpi_sony(4): Sync with FreeBSD.
Sascha Wildner [Sun, 4 Jul 2010 18:36:38 +0000 (20:36 +0200)]
acpi_sony.4: Fix sysctl names.
Sascha Wildner [Sun, 4 Jul 2010 15:50:44 +0000 (17:50 +0200)]
Make the loader load ehci.ko by default.
It seems to do more good than harm.
HOWEVER!
Unfortunately, There are systems that don't play nice with ehci. One
of my boxes, for example, won't reboot with ehci loaded.
Therefore, the behavior introduced with this commit can be disabled
by doing one of the following things:
1) 'unset ehci_load' from the loader prompt before booting.
2) Booting in 'safe mode'.
3) Putting 'hint.ehci.0.disabled=1' in /boot/loader.conf.
This is all modeled after the way the automatic loading of acpi.ko is
handled.
Sascha Wildner [Sun, 4 Jul 2010 16:05:11 +0000 (18:05 +0200)]
test commit
Sascha Wildner [Sun, 4 Jul 2010 01:47:05 +0000 (03:47 +0200)]
mkinitrd(8): Strip binaries when copying so they will fit in the image.
While here, comment out a call of the tree utility which we don't have
in base.
Sascha Wildner [Sun, 4 Jul 2010 01:45:25 +0000 (03:45 +0200)]
initrd: /usr/share/initrd/sbin wasn't being created. Add it via mtree(8).
This led to oinit being installed as a file named 'sbin'. Remove this
file via etc/Makefile (during 'make upgrade') so that with the next
upgrade the file is installed correctly.
Sascha Wildner [Sat, 3 Jul 2010 23:54:30 +0000 (01:54 +0200)]
standards.7: Write some more and mention the default environment.
Sascha Wildner [Sat, 3 Jul 2010 20:35:42 +0000 (22:35 +0200)]
Add a few __printflike() and __scanflike() to various header files.
Sascha Wildner [Sat, 3 Jul 2010 20:35:04 +0000 (22:35 +0200)]
vinum(4): Use char for has_part since that's what we scanf() later on.
Sascha Wildner [Sat, 3 Jul 2010 20:34:04 +0000 (22:34 +0200)]
Uncomment vinum in LINT to have it covered by -Werror.
Matthew Dillon [Sat, 3 Jul 2010 18:20:58 +0000 (11:20 -0700)]
kernel - MPSAFE work - Basic tokenization for x86_64 pmap.c
* Tokenize x86_64 pmap.c, it still needs documenting and cleanup
like i386 pmap.c has.
Matthew Dillon [Sat, 3 Jul 2010 18:19:26 +0000 (11:19 -0700)]
kernel - MPSAFE work - Finish tokenizing vm_page.c
* Finish tokenizing vm_page.c
* Certain global procedures, particular vm_page_hold() and vm_page_unhold(),
are best called with the vm_token already held for implied non-blocking
operation.
Matthew Dillon [Sat, 3 Jul 2010 18:16:54 +0000 (11:16 -0700)]
kernel - MPSAFE work - Add missing token release
* Add a missing token release in a rare code path.
Alex Hornung [Sat, 3 Jul 2010 17:40:10 +0000 (18:40 +0100)]
linux emu - MPSAFE work
* Reduce the uses of the mplock to a bare minimum, such as when calling
exit1.
* Change the emuldata lock to lockmgr; it shouldn't have been mplock in
the first place.
* Reduce the scope locked by the emuldata lock as much as possible.