Go to file
dyoung 972989f5e3 Move a device-deactivation pattern that is replicated throughout
the system into config_deactivate(dev): deactivate dev and all of
its descendants.  Block all interrupts while calling each device's
activation hook, ca_activate.  Now it is possible to simplify or
to delete several device-activation hooks throughout the system.

Do not deactivate a driver while detaching it!  If the driver was
already deactivated (because of accidental/emergency removal), let
the driver cope with the knowledge that DVF_ACTIVE has been cleared.
Otherwise, let the driver access the underlying hardware (so that
it can flush caches, restore original register settings, et cetera)
until it exits its device-detachment hook.

Let multiple readers and writers simultaneously access the system's
device_t list, alldevs, from either interrupt or thread context:
postpone changing alldevs linkages and freeing autoconf device
structures until a garbage-collection phase that runs after all
readers & writers have left the list.

Give device iterators (deviter(9)) a consistent view of alldevs no
matter whether device_t's are added and deleted during iteration:
keep a global alldevs generation number.  When an iterator enters
alldevs, record the current generation number in the iterator and
increase the global number.  When a device_t is created, label it
with the current global generation number.  When a device_t is
deleted, add a second label, the current global generation number.
During iteration, compare a device_t's added- and deleted-generation
with the iterator's generation and skip a device_t that was deleted
before the iterator entered the list or added after the iterator
entered the list.

The alldevs generation number is never 0.  The garbage collector
reaps device_t's whose delete-generation number is non-zero.

Make alldevs private to sys/kern/subr_autoconf.c.  Use deviter(9)
to access it.
2009-11-12 19:10:30 +00:00
bin Correct usage for parentheses, and mark up "expression" in more places. 2009-11-10 18:19:46 +00:00
common New binutils seems to want end of functions marked. 2009-11-09 14:22:02 +00:00
compat Regen for NOLINKLIB. 2009-11-09 15:49:35 +00:00
crypto use %option instead of #define YY_NO_... 2009-10-29 14:49:02 +00:00
dist Drop 3rd and 4th clauses, as the copyright holder (Michael Shalayeff) did 2009-11-03 01:13:38 +00:00
distrib Use proper tag ".man" for man files. 2009-11-12 13:17:46 +00:00
doc update libevent version information 2009-11-11 15:35:57 +00:00
etc Install a.out version of INSTALL kernel in release. Slightly modified 2009-11-06 12:31:44 +00:00
external build the igs driver on shark 2009-11-10 23:14:04 +00:00
games use %option noinput nounput 2009-10-29 14:27:26 +00:00
gnu Add the -iremap option to gcc(1) and cpp(1). This option specifies a 2009-11-11 19:03:52 +00:00
include typedef struct link_map as Link_map (for solaris-compat) 2009-11-04 19:28:03 +00:00
lib Do not use \." for comments, always use .\". Discussed with uwe@. 2009-11-12 00:43:52 +00:00
libexec Add RCSID 2009-11-11 14:15:41 +00:00
regress remove libevent (uses ATF tests now) 2009-11-02 15:44:12 +00:00
rescue kill ldd_aout. it didn't work anyway...not since i don't know when. 2009-08-22 06:52:15 +00:00
sbin Allow MB, GB and CYL (not just M, G and C) and lower case. 2009-11-04 22:25:56 +00:00
share Remove "USE_SSP_DEFAULT". 2009-11-12 14:46:37 +00:00
sys Move a device-deactivation pattern that is replicated throughout 2009-11-12 19:10:30 +00:00
tests WARNS=4 2009-11-06 15:26:54 +00:00
tools Revert most of revision 1.73: 2009-11-11 21:53:46 +00:00
usr.bin Don't assume that "id_t", "gid_t" and "uid_t" use the same underlying type 2009-11-12 10:10:49 +00:00
usr.sbin Update date. 2009-11-06 20:51:43 +00:00
x11 add -n to gzip invocation 2009-03-31 21:12:51 +00:00
build.sh If do_expertmode is false, then add DESTDIR and RELEASEDIR to makeenv. 2009-11-04 12:58:01 +00:00
BUILDING If ${NETBDSRCDIR}/../xsrc exists, then use it as the default value 2009-10-10 19:05:28 +00:00
Makefile build & install librumpdev_netsmb and librumpfs_smbfs components 2009-09-04 17:21:33 +00:00
Makefile.inc
UPDATING Mention that 'build.sh -u' may also break while building lex. 2009-11-02 01:11:31 +00:00