Home | History | Annotate | Download | only in sys
History log of /src/sys/sys/conf.h
RevisionDateAuthorComments
 1.162  17-Apr-2024  riastradh sys/conf.h: Need sys/types.h for dev_t, devmajor_t.
 1.161  28-Mar-2022  riastradh driver(9): New types dev_*_t for device driver devsw operations.

These will serve to replace the archaic and kludgey dev_type_* macros
which should've been typedefs all along.
 1.160  28-Mar-2022  riastradh driver(9): New devsw d_cancel op to interrupt I/O before close.

If specified, when revoking a device node or closing its last open
node, specfs will:

1. Call d_cancel, which should return promptly without blocking.
2. Wait for all concurrent d_read/write/ioctl/&c. to drain.
3. Call d_close.

Otherwise, specfs will:

1. Call d_close.
2. Wait for all concurrent d_read/write/ioctl/&c. to drain.

This fallback is problematic because often parts of d_close rely on
concurrent devsw operations to have completed already, so it is up to
each driver to have its own mechanism for waiting, and the extra step
in (2) is almost redundant. But it is still important to ensure that
devsw operations are not active by the time a module tries to invoke
devsw_detach, because only d_open is protected against that.

The signature of d_cancel matches d_close, mostly so we don't raise
questions about `why is this different?'; the lwp argument is not
useful but we should remove it from open/cancel/close all at the same
time.

The only way d_cancel should fail, if it does at all, is with ENODEV,
meaning the driver doesn't support cancelling outstanding I/O, and
will take responsibility for that in d_close. I would make it return
void and only have bdev_cancel and cdev_cancel possibly return ENODEV
so specfs can detect whether a driver supports it, but this would
break the pattern around devsw operation types.

Drivers are allowed to omit it from struct bdevsw, struct cdevsw --
if so, it is as if they used a function that just returns ENODEV.

XXX kernel ABI change to struct bdevsw/cdevsw requires bump
 1.159  28-Mar-2022  riastradh driver(9): Make vdevgone call config_detach_commit if appropriate.

Make sure to do this before spec_node_lookup_by_dev -- that might wait
for a concurrent revoke to complete, which in turn might wait for a
concurrent open to complete, which in turn might be waiting for the
device to commit to detaching.
 1.158  28-Mar-2022  riastradh driver(9): Eliminate D_MCLOSE.

D_MCLOSE was introduced a few years ago by mistake for audio(4),
which should have used -- and now does use -- fd_clone to create
per-open state. The semantics was originally to call close once
every time the device node is closed, not only for the last close.
Nothing uses it any more, and it complicates reasoning about the
system, so let's simplify it away.
 1.157  28-Mar-2022  riastradh driver(9): New function dev_minor_unit.
 1.156  28-Mar-2022  riastradh driver(9): New devsw members d_cfdriver, d_devtounit.

If set, then bdev_open/cdev_open will use d_devtounit to map the
dev_t to an autoconf instance (e.g., /dev/wd0a -> wd0) and hold a
reference with device_lookup_acquire across the call to d_open.

This guarantees that the autoconf instance cannot be detached while
the devsw's d_open function is trying to open it (and also that the
autoconf instance has finished *_attach before anyone can open it).

Of course, if the underlying hardware has gone away, there will be
I/O errors, but this avoids software synchronization bugs between
open and detach for drivers that opt into it. It's up to the driver
and bus to figure out how to deal with I/O errors from operations on
hardware that has gone away while the software hasn't finished
notifying everything that it's gone yet.

XXX kernel ABI change to struct bdevsw/cdevsw requires bump
 1.155  28-Mar-2022  riastradh driver(9): devsw_detach never fails. Make it return void.

Prune a whole lotta dead branches as a result of this. (Some logic
calling this is also wrong for other reasons; devsw_detach is final
-- you should never have any reason to decide to roll it back. To be
cleaned up in subsequent commits...)

XXX kernel ABI change to devsw_detach signature requires bump
 1.154  08-Oct-2019  uwe Convert ttynodisc() to devenodev and ttyerr*() to ttyenodev too.

Missed in previous. Of these - only ttyerrio() is used, the rest are
just courtesy "for those defining their own line disciplines". So may
be we should bring back ttyerrinput() too.
 1.153  08-Oct-2019  mrg steal an idea from uwe@ and implement gcc-8 function type cast
friendly methods for sys/conf.h that needs it.

one alias per return type and first function are are needed,
though they can be stubbed to existing code. the only cost is
the symbol itself, the codegen it the same.
 1.152  08-Oct-2019  mrg remove unused ttyerrinput.
 1.151  17-Dec-2016  riastradh branches: 1.151.6; 1.151.16;
Omit needless nullmmap.

Convert the one user of it to nommap. No functional change to the
device driver, since uvm interpreted nullmmap just like nommap.

This slightly changes the uvm ABI so that the function pointer nullop
is no longer interpreted as non-mmappable. I do hereby declare that
I am surfing the kernel version bump from a few hours ago.
 1.150  16-Dec-2016  riastradh Fix return value of nommap.
 1.149  09-Dec-2016  nat Add functions to access device flags. This restores simultaneous audio
open/close.

OK hannken@ christos@
 1.148  08-Dec-2016  nat MCLOSE class->flag. Found by hannken@
 1.147  08-Dec-2016  nat The audio sub-system now supports the following features as
posted to tech-kern:

* Simultaneous playback and mixing of multiple streams
* Playback streams can be of different encoding, frequency, precision
and number of channels
* Simultaneous recording to different formats
* One audio device per process
* Sysctls to set the common format frequency, precision and channels
* Independent mixer controls for recording/playback per stream
* Utilizes little cpu time for multiple streams / good performance
* Compatible with existing programs that use OSS/NetBSD audio
* Changes to audioctl(1) to allow specifying process id for corresponding
audio device
 1.146  17-Jan-2016  christos branches: 1.146.2;
add /dev/full
 1.145  25-Jul-2014  dholland branches: 1.145.4;
Add d_discard to struct bdevsw/cdevsw, and the plumbing to access it.

Unfortunately we need d_discard in both since we need to be able to
discard from both the block and character forms of disks. I'm
increasingly thinking it would be better to restructure the ops
dispatching so each type of device (ttys, disks, tapes, etc.) has its
own function table. Then we wouldn't need to change every tty driver
to add a disk op.
 1.144  27-Oct-2012  chs branches: 1.144.10;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.143  29-Jul-2012  mlelstv branches: 1.143.2;
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.

No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().

Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().

Make cpu_rootconf(9) describe the calling order.
 1.142  29-Jul-2012  mlelstv use standard macro for bdev_size declaration
 1.141  12-Dec-2011  mrg branches: 1.141.2;
implement bdev_size(9) wrapper around d_psize() routine, so we can take
the device lock in relevant places. avoid doing so while actually dumping.

tested i386 crash dumps still work, and that all touched files compile.

fixes PR#45705.
 1.140  12-Jun-2011  rmind branches: 1.140.2; 1.140.6;
Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.139  10-Feb-2011  pooka branches: 1.139.2;
Make it possible to specify a minor number for an autogenerated device node.
 1.138  05-Jan-2011  jmcneill branches: 1.138.2; 1.138.4;
d_type is now d_flag, update comment to match
 1.137  30-Apr-2010  pooka For the simple cases, augment device-major with information on how
a driver expects /dev/node -> minor mappings to go and include that
information in devsw_conv.
(no, I didn't plow through all the MD majors files)
 1.136  29-Apr-2010  pooka devsw_conv is not used outside _KERNEL
 1.135  20-Jun-2009  mrg branches: 1.135.2; 1.135.4;
add a workaround for drm:

for device mmap()'s, if the D_NEGOFFSAFE flag is set, do not check
if the offset is negative.

this should go away with the test itself when all drivers are audited
and checked to not fail with negative offsets.
 1.134  02-Feb-2009  haad branches: 1.134.2;
Add support for loading pseudo-device drivers. Try to autoload modules from
specs_open routine. If devsw_open fail, get driver name with devsw_getname
routine and autoload module.

For now only dm drivervcan be loaded, other pseudo drivers needs more work.

Ok by ad@.
 1.133  20-Jan-2009  drochner Change major()/minor() to return 32-bit types again, called
devmajor_t/devminor_t, as proposed on tech-kern.
This avoids 64-bit arithmetics and 64-bit printf formats in parts
of the kernel where it is not really useful, and helps clarity.
 1.132  29-Dec-2008  pooka Rename specfs_lock as device_lock and move it from specfs to devsw.
Relaxes kernel dependency on vfs.
 1.131  19-May-2008  ad branches: 1.131.6; 1.131.8; 1.131.14;
Give devsw_detach() a dummy error return.
 1.130  21-Mar-2008  plunky branches: 1.130.2; 1.130.4; 1.130.6;
add devsw_name2chr() function to look up character devices
 1.129  07-Nov-2007  ad branches: 1.129.14;
Merge tty changes from the vmlocking branch.
 1.128  21-Jul-2007  ad branches: 1.128.4; 1.128.6; 1.128.10; 1.128.12; 1.128.14;
Move declaration of seltrue_kqfilter() to conf.h, where it's needed.
 1.127  09-Jul-2007  ad branches: 1.127.2;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.126  04-Mar-2007  christos branches: 1.126.2; 1.126.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.125  04-Nov-2006  elad branches: 1.125.4;
Change KAUTH_SYSTEM_RAWIO to KAUTH_DEVICE_RAWIO_SPEC (moving the raw i/o
requests to the device scope) and add KAUTH_DEVICE_RAWIO_PASSTHRU.

Expose iskmemdev() through sys/conf.h.

okay yamt@
 1.124  09-Oct-2006  uebayasi No variable name in function argument declaration.
 1.123  27-Aug-2006  christos branches: 1.123.2; 1.123.4;
define D_OTHER as 0.
 1.122  11-Dec-2005  christos branches: 1.122.4; 1.122.8;
merge ktrace-lwp.
 1.121  27-Nov-2005  thorpej Need <sys/queue.h> for userland. Thanks to wa1ter for pointing it out.
 1.120  27-Nov-2005  thorpej Overhaul how TTY line disciplines are handled:
- Replace references to linesw[0] with a ttyldisc_default() function
that returns the default ("termios") line discipline.
- The linesw[] array is gone, replaced by a linked list.
- ttyldisc_add() and ttyldisc_remove() have been replaced by
ttyldisc_attach() and ttyldisc_detach().
- Things that provide line disciplines are now responsible for
registering those disciplines with the system. The linesw
structures are no longer declared in tty_conf.c
- Line disciplines are now refcounted; a lookup causes a reference to
be held. ttyldisc_release() releases the reference. Attempts to
detach an in-use line discipline result in EBUSY.
- Fix function signature lossage in if_sl.c, if_strip.c, and tty_tb.c
that was masked by the old tty_conf.c
- tty_init() is no longer necessary; delete it and its call from main().
 1.119  21-Jun-2005  ws branches: 1.119.2; 1.119.8;
PR-30566: Poll must not return <sys/errno.h> values.
Start with those places I can easily test.
 1.118  04-Jun-2005  uwe Constify argument to ttyldisc_lookup and ttyldisc_remove.
 1.117  29-May-2005  christos Sprinkle const.
 1.116  03-Feb-2005  perry de-__P
 1.115  25-Jan-2004  hannken branches: 1.115.8; 1.115.10;
Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.

VOP_STRATEGY(bp) is replaced by one of two new functions:

- VOP_STRATEGY(vp, bp) Call the strategy routine of vp for bp.
- DEV_STRATEGY(bp) Call the d_strategy routine of bp->b_dev for bp.

DEV_STRATEGY(bp) is used only for block-to-block device situations.
 1.114  16-Oct-2003  jdolecek switch ARM to use same minor for /dev/zero as other archs
as discussed on tech-arm@
 1.113  11-Oct-2003  jdolecek g/c struct swdevt definition and extern decl for swdevt[] - it's not
used in kernel tree anywhere
 1.112  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.111  08-Jul-2003  itojun prototype must not have variable name
 1.110  29-Jun-2003  fvdl branches: 1.110.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.109  29-Jun-2003  enami Add forward declaration of struct lwp instead of struct proc. Sort those
while I'm here.
 1.108  28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.107  26-Oct-2002  jdolecek now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
 1.106  23-Oct-2002  jdolecek merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.105  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.104  19-Jul-2002  thorpej Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can
be properly used by any misc. cloning device. While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
 1.103  18-Jun-2002  thorpej cdev_systrace_init() only gets an "open" entry point.
 1.102  17-Jun-2002  christos Systrace support.
 1.101  23-Apr-2002  manu branches: 1.101.2;
Added IRIX /dev/usema and dev/usemaclone (void driver for now, will be
filled later)
 1.100  16-Mar-2002  martin Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
 1.99  15-Mar-2002  manu Added IRIX /dev/kmem emulation pseudodevice and SVR4 net pseudodevice
 1.98  27-Feb-2002  christos - add constants for DEV_{MEM,KMEM,NULL,ZERO} only arm is the oddball one using
3 for DEV_ZERO and should be fixed.
- cdev_decl(mm) since all the ports do the same.
- change _mm_ initialization to include ioctl entry point.
 1.97  27-Jan-2002  martin Ooops, ISDN phone devices have an ioctl function, so add them to the
cdevsw. Noticed by Matthias Drochner.
(One of these days I'll setup an answering machine for testing myself ;-) )
 1.96  04-Jan-2002  deberg cdev_netsmb_init()
 1.95  01-Jan-2002  augustss Add support for radio cards. Written by Maxim Tsyplakov and Vladimir Popov
for OpenBSD, from where it was imported.
 1.94  02-Dec-2001  lukem convert cdev_ir_init() to use the cdev__ocrwip_init() helper macro,
like everything else with the same cdev methods does. (hi lennart! :)
 1.93  02-Dec-2001  augustss Add cdev_ir_init() macro.
 1.92  18-Sep-2001  ad Add cdev__ocm_init() helper.
 1.91  16-Sep-2001  manu Added the clockctl device
 1.90  13-Sep-2001  thorpej Add cdev_pci_init().
 1.89  10-Sep-2001  fvdl Add extra initializer macro.
 1.88  02-May-2001  scw branches: 1.88.2; 1.88.4;
Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
 1.87  26-Mar-2001  lukem missed conversion of dev_noimpl(poll,enodev) -> seltrue
 1.86  26-Mar-2001  lukem - add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
and use appropriately

- create more helper macros:
. cdev__xyz_init(c,n), such as cdev__ocri_init() for
/* open, close, read, ioctl */, etc.
. cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
method `R' and the comments now read /* xxx (read) yyy */ instead
. cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
as well

- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
always DTRT WRT returning a valid result. (a few devices previously
incorrectly returned ENODEV)

- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
== 0, because it doesn't matter if dev_type_stop isn't implemented in that
case, and it allows the use of the cdev__xyz_init macros. certain ports
(sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
drivers, whereas everything else uses enodev

- ensure that the comments are accurate WRT the behaviour of a given entry
 1.85  21-Mar-2001  lukem move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
 1.84  26-Nov-2000  ad branches: 1.84.2;
lsu -> ld, by popular request.
 1.83  01-Nov-2000  eeh Add support for named line disciplines.
 1.82  27-Oct-2000  matt Add openfirm device (for macppc & arm32(dnard)). Eventually so that
eeprom(8) can be use on systems with openfirmware.
 1.81  19-Oct-2000  ad ca -> lsu
 1.80  21-Jul-2000  jeffs Backout last iic change. Will work with cgd to get an i2c code we all
can be happy with.
 1.79  21-Jul-2000  jeffs Add cdev_iic_init() macro [i2c bus].
 1.78  05-Jul-2000  thorpej Garbage-collect __BDEVSW_DUMP_OLD_TYPE.
 1.77  26-Jun-2000  simonb Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes. Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
 1.76  24-Jun-2000  thorpej Add cdev_sysmon_init().
 1.75  07-May-2000  wiz branches: 1.75.4;
also add cdev_decl for bktr
 1.74  07-May-2000  wiz bktr driver added
 1.73  16-Mar-2000  ad Driver for Compaq array controllers and disks (cac(4)/ca(4)).
 1.72  22-Feb-2000  tls revert previous change
 1.71  22-Feb-2000  mjacob remove SES driver
 1.70  28-Jan-2000  augustss Make it possible to read /dev/usb so the USB event mechanism can be used.
 1.69  21-Jan-2000  mjacob add cdev_ses_init alias to cdev__oci_init
 1.68  09-Sep-1999  thorpej branches: 1.68.2; 1.68.8;
Rework the changer driver a bit:
- Take note of magazine changes, and enqueue "Element Status Changed" events
that user processes can read or select on.
- Normalize some structure names.
- Report back more status about changer elements:
* Volume tags (e.g. barcode labels on the backs of your tapes)
* External device names (for drive units in a changer)
* Last element a unit of media was moved from
* Sense information for SCSI changer elements in EXCEPT condition
* Vendor-specific data if the user requests it.
- Add support for setting volume tags.
 1.67  07-Jun-1999  thorpej Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly. Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
 1.66  18-Dec-1998  drochner branches: 1.66.4;
get "opt_compat_svr4.h" out of <sys/conf.h>
 1.65  09-Dec-1998  augustss Add a poll entry to the /dev/usbN device. This should stop usbd from
running amok. (The poll was lost when the declaration moved to sys/conf.h.)
 1.64  08-Dec-1998  augustss Add ugen, a generic USB driver.
 1.63  29-Nov-1998  thorpej cdev_usb_init() and cdev_usbdev_init().
 1.62  20-Nov-1998  kml Changes to support a HIPPI Framing Protocol device, which allows raw
HIPPI packets to be written without having to go through the network
stack.
 1.61  13-Nov-1998  thorpej {b,c}dev_decl(raid), like some other disk devices.
 1.60  10-Oct-1998  thorpej Add cdev_scsibus_init() (open, close, ioctl).
 1.59  30-Aug-1998  pk Declare `devnametobdevmaj' table emitted by config(8).
 1.58  07-Aug-1998  augustss Add MIDI support. The MIDI devices can be accessed as ``raw'' through
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).
 1.57  24-Jul-1998  rvb branches: 1.57.2;
Coda glue
 1.56  26-Jun-1998  thorpej defopt COMPAT_SVR4
 1.55  15-Apr-1998  drochner Add macros for MI wsdisplay and spkr cdevsw initialization.
 1.54  01-Mar-1998  fvdl Merge with Lite2 + local changes
 1.53  16-Oct-1997  christos chrtoblk returns dev_t
 1.52  13-Oct-1997  explorer o Make usage of /dev/random dependant on
pseudo-device rnd # /dev/random and in-kernel generator
in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
that this code is derived in part from Ted Tyso's linux code.
 1.51  10-Oct-1997  explorer define rnd cdev here
 1.50  09-Oct-1997  mycroft Make various standard wmesg strings const.
 1.49  18-Mar-1997  thorpej branches: 1.49.4;
Eek! We have a namespace collision between the SCSI Ethernet driver
and SYSVSEM. Kludge it for now.
 1.48  18-Mar-1997  cgd add [bc]dev_decl() for se and md as appropriate. clean up/sort
[bc]dev_decl()s, and make it a bit more obvious what the sort criteria
are.
 1.47  18-Mar-1997  thorpej Add cdev_se_init(), for the Cabletron SCSI Ethernet interface,
from Ian Dall <ian.dall@dsto.defence.gov.au>.
 1.46  31-Jan-1997  thorpej - Declare a structure to map device names to block device major numbers,
used by the new machine-independent setroot().
- Prototype setroot() and swapconf() here.
 1.45  22-Jan-1997  mikel add multiple inclusion protection
 1.44  07-Jan-1997  mrg branches: 1.44.2;
use pseudo-device ipfilter, not ipl.
 1.43  05-Jan-1997  mrg add cdev_ipl_init() and cdev_decl(ipl), for ip-filter.
 1.42  11-Nov-1996  pk Declare `uk' device.
 1.41  03-Oct-1996  thorpej Correct a comment about cdev_fb_init().
 1.40  30-Sep-1996  jonathan Added non-enodev() poll() entrypoint for framebuffers to cdev_fb_init().
 1.39  08-Sep-1996  mycroft Add cdev_uk_init().
 1.38  07-Sep-1996  mycroft Oops. [bc]dev_lkm_dummy() doesn't take any arguments.
 1.37  07-Sep-1996  mycroft Implement poll(2).
 1.36  05-Sep-1996  mycroft Remove duplicate declarations of LKM functions and macros.
 1.35  02-Sep-1996  mycroft tty stop functions really should return void, not int, and certainly not both.
 1.34  01-Sep-1996  mycroft Add mmap method for audio devices.
 1.33  03-May-1996  christos Add cdev_scanner_init() macro.
 1.32  30-Mar-1996  christos - Remove multi-inclusion protection.
- Add cdev_decl and bdev_decl for all kernel mi devices.
 1.31  14-Mar-1996  christos filedesc.h, proc.h: Rename fdopen() to filedescopen() so that it does not
conflict with the floppy driver.
conf.h: Protect against multiple inclusions. The reason will become apparent
soon.
systm.h: Bring Debugger() prototype into scope.
 1.30  13-Feb-1996  christos - conf.h: add missing prototype for iszerodev()
- protosw.h: Prototypes for the protocol stack.
 1.29  10-Feb-1996  christos Follow Charles' advise about the location of some of the prototypes.
 1.28  14-Aug-1995  cgd prototypes for d_mmap and dev_type_mmap, as suggested by Jonathan Stone in
PR 1259. prototype for dev_type_dump if not not __BDEVSW_DUMP_OLD_TYPE.
 1.27  04-Jul-1995  mycroft Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely. Remove d_strategy from cdevsw to
force the abstraction barrier.
 1.26  26-Jun-1995  cgd oops; i meant __BDEVSW_DUMP_OLD_TYPE, not __BDEVSW_DUMP_OLD_FORMAT
 1.25  26-Jun-1995  cgd prototype the dump function pointer, if __BDEVSW_DUMP_OLD_FORMAT not defined
 1.24  19-Apr-1995  mycroft Fix typo.
 1.23  19-Apr-1995  mycroft Remove d_reset. Replace d_ttys with a callback to the driver. Don't allow
select() on a framebuffer.
 1.22  12-Apr-1995  mellon Add cdev_fb_init for frame buffers
 1.21  10-Apr-1995  mycroft Add a stop function to cdev_cn_init().
 1.20  10-Apr-1995  mycroft Add a device type to the switch tables. Move the [bc]dev_{decl,*_init}()
macros into here, so they only need to be defined in one place.
 1.19  26-Mar-1995  jtc KERNEL -> _KERNEL
 1.18  08-Jan-1995  cgd add a sprinkling of comments.
 1.17  14-Dec-1994  mycroft Remove fp arg to d_open.
 1.16  14-Nov-1994  christos added extra argument to vn_open
 1.15  30-Oct-1994  cgd be more careful with types, also pull in headers where necessary.
 1.14  29-Jun-1994  cgd New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
 1.13  27-Jun-1994  cgd new standard, minimally intrusive ID format
 1.12  11-May-1994  mycroft Device strategy functions return void again.
 1.11  05-May-1994  cgd lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around. kill some unnecessary type and macro
definitions. standardize clock handling. More changes than you'd want.
 1.10  17-Feb-1994  cgd sw_freed -> sw_flags, plus defs and compatibility gunk
 1.9  09-Feb-1994  mycroft Don't attempt to prototype d_dump, as it varies per machine. Remove l_rend
and l_meta, as they are not used.
 1.8  09-Feb-1994  deraadt need struct buf for proto's
 1.7  11-Jan-1994  mycroft strategy functions return void.
 1.6  29-Jul-1993  jtc branches: 1.6.2;
Change "#endif FOO" to "#endif /* FOO */", to keep gcc -Wall, lint, etc.
from complaining about a trivial issue.
 1.5  27-Jun-1993  andrew ANSIfications - lots of function prototyping.
 1.4  26-May-1993  deraadt tty dynamic allocation
 1.3  20-May-1993  cgd add rcs ids as necessary, and also clean up headers
 1.2  19-Apr-1993  mycroft Add consistent multiple-inclusion protection.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3  01-Mar-1998  fvdl Import 4.4BSD-Lite2
 1.1.1.2  01-Mar-1998  fvdl Import 4.4BSD-Lite for reference
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.2.1  24-Sep-1993  mycroft Changes from trunk.
conf.h, disk.h, disklabel.h: strategy functions return void. dump functions
take dev, blkno, maddr, and length.
dkstat.h: Add CP_INTR.
mount.h: Make fsid_t a structure with two longs inside, now that quad is gone.
proc.h: Replace p_[us]time with p_[usi]ticks.
systm.h: Don't declare spl*() or psuedo-device attach functions. Declare
endtsleep(). Change declaration of panic().
types.h: Replace u_quad and quad with u_quad_t and quad_t, which use the GCC
`long long' type. Modify qaddr_t accordingly.
vnode.h: Change va_size and va_bytes to u_quad_ts.
 1.44.2.1  14-Jan-1997  thorpej Snapshot of work-in-progress, committed to private branch.

These changes implement machine-independent root device and file system
selection. Notable features:

- All ports behave in a consistent manner regarding root
device selection.
- No more "options GENERIC"; all kernels have the ability
to boot with RB_ASKNAME to select root device and file system
type.
- Root file system type can be wildcarded; a machine-independent
function will try all possible file systems for the selected
root device until one succeeds.
- If the root file system fails to mount, the operator will
be given the chance to select a new root device and file
system type, rather than having the machine simply panic.
- nfs_mountroot() no longer panics if any part of the NFS
mount process fails; it now returns an error, giving the
operator a chance to recover.
- New, more consistent, config(8) grammar. The constructs:

config netbsd swap generic
config netbsd root on nfs

have been replaced with:

config netbsd root on ? type ?
config netbsd root on ? type nfs

Additionally, the operator may select or wildcard root file
system type in the kernel configuration file:

config netbsd root on cd0a type cd9660

config(8) now requires that a "root" specification be
made. "root" may be wired down or wildcarded. "swap" and
"dump" specifications are optional, and follow previous
semantics.

- config(8) has a new "file-system" keyword, used to configure
file systems into the kernel. Eventually, this will be used
to generate the default vfssw[].

- "options NFSCLIENT" is obsolete, and is replaced by
"file-system NFS". "options NFSSERVER" still exists, since
NFS server support is independent of the NFS file system
client.

- sys/arch/<foo>/<foo>/swapgeneric.c is no longer used, and
will be removed; all information is now generated by config(8).

As of this commit, all ports except arm32 have been updated to use
the new setroot(). Only SPARC, i386, and Alpha ports have been
tested at this time. Port masters should test these changes on their
ports, and report any problems back to me.

More changes are on their way, including RB_ASKNAME support in
nfs_mountroot() (to prompt for server address and path) and, potentially,
the ability to select rarp/bootparam or bootp in nfs_mountroot().
 1.49.4.1  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.57.2.2  08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.57.2.1  30-Jul-1998  eeh Split vm_offset_t and vm_size_t into paddr_t, psize_t, vaddr_t, and vsize_t.
 1.66.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.68.8.1  21-Dec-1999  wrstuden Initial commit of recent changes to make DEV_BSIZE go away.

Runs on i386, needs work on other arch's. Main kernel routines should be
fine, but a number of the stand programs need help.

cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512
byte block devices. vnd, raidframe, and lfs need work.

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".
 1.68.2.4  27-Mar-2001  bouyer Sync with HEAD.
 1.68.2.3  08-Dec-2000  bouyer Sync with HEAD.
 1.68.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.68.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.75.4.3  25-Oct-2001  he Apply patch (requested by ad):
Add Mylex DACC960, CAC-EISA, and I2O block/SCSI drivers.
 1.75.4.2  30-Jul-2000  bouyer Pull up (requested by thorpej)
conf.c 1.127->1.128
conf.h 1.75->1.76

Put `sysmon' in the `lm' slot, and free the `viaenv' slot.
Add cdev_sysmon_init().
 1.75.4.1  30-Jun-2000  simonb Pull up mmap paddr_t/off_t changes from trunk.
 1.84.2.11  11-Nov-2002  nathanw Catch up to -current
 1.84.2.10  17-Sep-2002  nathanw Catch up to -current.
 1.84.2.9  01-Aug-2002  nathanw Catch up to -current.
 1.84.2.8  20-Jun-2002  nathanw Catch up to -current.
 1.84.2.7  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.84.2.6  28-Feb-2002  nathanw Catch up to -current.
 1.84.2.5  11-Jan-2002  nathanw More catchup.
 1.84.2.4  08-Jan-2002  nathanw Catch up to -current.
 1.84.2.3  21-Sep-2001  nathanw Catch up to -current.
 1.84.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.84.2.1  09-Apr-2001  nathanw Catch up with -current.
 1.88.4.4  13-Oct-2001  fvdl Revert the t_dev -> t_devvp change in struct tty. The way that tty
structs are currently used (especially by console ttys) aren't
ready for it, and this will require quite a few changes.
 1.88.4.3  01-Oct-2001  fvdl Catch up with -current.
 1.88.4.2  18-Sep-2001  fvdl Various changes to make cloning devices possible:

* Add an extra argument (struct vnode **) to VOP_OPEN. If it is
not NULL, specfs will create a cloned (aliased) vnode during
the call, and return it there. The caller should release and
unlock the original vnode if a new vnode was returned. The
new vnode is returned locked.

* Add a flag field to the cdevsw and bdevsw structures.
DF_CLONING indicates that it wants a new vnode for each
open (XXX is there a better way? devprop?)

* If a device is cloning, always call the close entry
point for a VOP_CLOSE.


Also, rewrite cons.c to do the right thing with vnodes. Use VOPs
rather then direct device entry calls. Suggested by mycroft@

Light to moderate testing done an i386 system (arch doesn't matter
though, these are MI changes).
 1.88.4.1  07-Sep-2001  thorpej Commit my "devvp" changes to the thorpej-devvp branch. This
replaces the use of dev_t in most places with a struct vnode *.

This will form the basic infrastructure for real cloning device
support (besides being architecurally cleaner -- it'll be good
to get away from using numbers to represent objects).
 1.88.2.9  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.88.2.8  24-Sep-2002  jdolecek implement ptckqfilter() and remove the #define from <sys/conf.h>
convert selwakeup() calls in tty_pty.c to selnotify()
hint: if there is unique poll routine, unique kqfilter is needed too

this makes EVFILT_READ and EVFILT_WRITE events working on the master
side of pty

XXX EVFILT_READ would report 'data' exactly one more than the actual
XXX amount of data available; need to find out why
 1.88.2.7  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.88.2.6  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.88.2.5  16-Mar-2002  jdolecek Catch up with -current.
 1.88.2.4  11-Feb-2002  jdolecek Sync w/ -current.
 1.88.2.3  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.88.2.2  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.88.2.1  10-Jul-2001  lukem add d_kqfilter to cdevsw, and initialize as appropriate. provide helper
macros as necessary.
 1.101.2.6  20-Jul-2002  gehenna catch up with -current.
 1.101.2.5  15-Jul-2002  gehenna catch up with -current.
 1.101.2.4  20-Jun-2002  gehenna catch up with -current.
 1.101.2.3  06-Jun-2002  gehenna Add a field to store character major.
 1.101.2.2  19-May-2002  gehenna Remove unnecessary field.
 1.101.2.1  16-May-2002  gehenna Remove all [bc]dev_* macros.
Add protypes of devsw APIs.
 1.110.2.8  11-Dec-2005  christos Sync with head.
 1.110.2.7  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.110.2.6  04-Feb-2005  skrll Sync with HEAD.
 1.110.2.5  21-Sep-2004  skrll Fix the sync with head I botched.
 1.110.2.4  18-Sep-2004  skrll Sync with HEAD.
 1.110.2.3  02-Sep-2004  skrll Forward declare struct lwp not struct proc.
 1.110.2.2  03-Aug-2004  skrll Sync with HEAD
 1.110.2.1  02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.115.10.1  12-Feb-2005  yamt sync with head.
 1.115.8.1  29-Apr-2005  kent sync with -current
 1.119.8.1  29-Nov-2005  yamt sync with head.
 1.119.2.5  24-Mar-2008  yamt sync with head.
 1.119.2.4  15-Nov-2007  yamt sync with head.
 1.119.2.3  03-Sep-2007  yamt sync with head.
 1.119.2.2  30-Dec-2006  yamt sync with head.
 1.119.2.1  21-Jun-2006  yamt sync with head.
 1.122.8.1  03-Sep-2006  yamt sync with head.
 1.122.4.1  09-Sep-2006  rpaulo sync with head
 1.123.4.2  10-Dec-2006  yamt sync with head.
 1.123.4.1  22-Oct-2006  yamt sync with head
 1.123.2.1  18-Nov-2006  ad Sync with head.
 1.125.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.126.4.1  11-Jul-2007  mjf Sync with head.
 1.126.2.3  20-Aug-2007  ad Sync with HEAD.
 1.126.2.2  15-Jul-2007  ad Initalize the ttyldisc earlier.
 1.126.2.1  13-Apr-2007  ad - Make the devsw interface MP safe, and add some comments.
- Allow individual block/character drivers to be marked MP safe.
- Provide wrappers around the device methods that look up the
device, returning ENXIO if it's not found, and acquire the
kernel lock if needed.
 1.127.2.1  15-Aug-2007  skrll Sync with HEAD.
 1.128.14.2  21-Jul-2007  ad Move declaration of seltrue_kqfilter() to conf.h, where it's needed.
 1.128.14.1  21-Jul-2007  ad file conf.h was added on branch matt-mips64 on 2007-07-21 19:20:40 +0000
 1.128.12.1  19-Nov-2007  mjf Sync with HEAD.
 1.128.10.1  13-Nov-2007  bouyer Sync with HEAD
 1.128.6.1  08-Nov-2007  matt sync with -HEAD
 1.128.4.1  11-Nov-2007  joerg Sync with HEAD.
 1.129.14.9  17-Jan-2009  mjf Sync with HEAD.
 1.129.14.8  02-Jun-2008  mjf Sync with HEAD.
 1.129.14.7  14-Apr-2008  mjf - remove comments that are no longer true
- add support to devfsd(8) and devfsctl(4) to handle wedges
- add cpuctl device registration
- extract the alloc part out of device_register_name() into a common function
that can be used by the new device_register_sync(), which is used to
synchronously create device files
 1.129.14.6  06-Apr-2008  mjf - after some discussion with agc@ i agreed it would be a good idea to move
device_unregister_* to device_deregister_* to be more like the pmf(9)
functions, especially since a lot of the time the function calls are next
to each other.

- add device_register_name() support for dk(4).
 1.129.14.5  05-Apr-2008  mjf - add "file-system DEVFS" and "pseudo-device devfsctl" to conf/std seeing
as these are always needed.

- convert many, many drivers over to the New Devfs World Order. For a
list of device drivers yet to be converted see,
http://www.netbsd.org/~mjf/devfs-todo.html.

- add a new device_unregister_all(device_t) function to remove all device
names associated with a device_t, which saves us having to construct
device names when the driver is detached.

- add a DEV_AUDIO type for devices.
 1.129.14.4  03-Apr-2008  mjf Sync with HEAD.
 1.129.14.3  03-Apr-2008  mjf - Make distrib/sets and sys/fs/devfs catch up with dctl rename to devfsctl.

- The visibility of a node is now properly determined in devfs.

- device_lookup_info() has grown an argument to distinguish whether we're
looking for a character or block device, since it's possible for the same
dev_t value to be used for a character device and a different block device.
 1.129.14.2  29-Mar-2008  mjf - etc/devfsd.conf: Add some rules to give nodes like /dev/tty and
/dev/null better default modes, i.e. 0666.

- sbin/init: Run devfsd -s before going to multiuser.

- sys/arch: Provide arm32, i386, sparc with a mem_init() function to request
device nodes for /dev/null, /dev/zero, etc.

- sys/dev: Convert rnd, wd, agp, raid, cd, sd, wsdisplay, wskbd, wsmouse,
wsmux, tty, bpf, swap to devfs New World Order.

- sys/fs/devfs: Make the visibility attribute of device nodes configurable.
Also provide a function to mount a devfs on boot.

- sys/kern: Add a new boot flag, -n. This disables devfs support. Unless
the -n flag is specified the kernel will mount a devfs file
system on boot.
 1.129.14.1  20-Mar-2008  mjf - Introduce new API for allowing device drivers to register/unregister
names for device nodes along with a corresponding dev_t.

- Make device drivers that technically never get attached and need device
nodes (mem, zero, null) provide an initialisation function, which gets
an entry in a table of init functions that devsw_init() calls when the
device switch tables are initialised.

- Since we're moving to a new way of notifying devfsd(8) of new devices,
we no longer need to link together struct devices.
 1.130.6.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.130.4.3  11-Aug-2010  yamt sync with head.
 1.130.4.2  18-Jul-2009  yamt sync with head.
 1.130.4.1  04-May-2009  yamt sync with head.
 1.130.2.1  04-Jun-2008  yamt sync with head
 1.131.14.1  21-Apr-2010  matt sync to netbsd-5
 1.131.8.1  23-Jun-2009  snj Pull up following revision(s) (requested by mrg in ticket #826):
sys/sys/conf.h: revision 1.135
sys/uvm/uvm_device.c: revision 1.56
add a workaround for drm:
for device mmap()'s, if the D_NEGOFFSAFE flag is set, do not check
if the offset is negative.
this should go away with the test itself when all drivers are audited
and checked to not fail with negative offsets.
 1.131.6.2  03-Mar-2009  skrll Sync with HEAD.
 1.131.6.1  19-Jan-2009  skrll Sync with HEAD.
 1.134.2.1  23-Jul-2009  jym Sync with HEAD.
 1.135.4.3  05-Mar-2011  rmind sync with head
 1.135.4.2  30-May-2010  rmind sync with head
 1.135.4.1  18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.135.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.135.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.138.4.1  17-Feb-2011  bouyer Sync with HEAD
 1.138.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.139.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.140.6.1  18-Feb-2012  mrg merge to -current.
 1.140.2.2  30-Oct-2012  yamt sync with head
 1.140.2.1  17-Apr-2012  yamt sync with head
 1.141.2.1  08-Aug-2012  martin Pull up following revision(s) (requested by mlelstv in ticket #466):
sys/arch/amiga/amiga/autoconf.c: revision 1.113
sys/arch/rs6000/rs6000/autoconf.c: revision 1.4
sys/arch/emips/emips/autoconf.c: revision 1.6
sys/arch/sandpoint/sandpoint/autoconf.c: revision 1.27
sys/arch/evbmips/alchemy/autoconf.c: revision 1.18
sys/arch/sgimips/sgimips/autoconf.c: revision 1.43
sys/arch/atari/atari/autoconf.c: revision 1.63
sys/arch/powerpc/oea/ofw_autoconf.c: revision 1.17
sys/arch/mmeye/mmeye/autoconf.c: revision 1.9
distrib/sets/lists/comp/mi: revision 1.1771
sys/arch/mipsco/mipsco/autoconf.c: revision 1.25
sys/arch/iyonix/iyonix/autoconf.c: revision 1.14
sys/arch/hp300/hp300/autoconf.c: revision 1.100
sys/kern/init_main.c: revision 1.445
sys/arch/pmax/pmax/autoconf.c: revision 1.79
sys/arch/netwinder/netwinder/autoconf.c: revision 1.11
sys/arch/dreamcast/dreamcast/autoconf.c: revision 1.10
sys/arch/ibmnws/ibmnws/autoconf.c: revision 1.12
sys/arch/evbppc/ev64260/autoconf.c: revision 1.17
sys/arch/evbmips/gdium/autoconf.c: revision 1.5
sys/arch/algor/algor/autoconf.c: revision 1.21
share/man/man9/Makefile: revision 1.367
sys/arch/ews4800mips/ews4800mips/autoconf.c: revision 1.9
sys/arch/amigappc/amigappc/autoconf.c: revision 1.5
sys/arch/x86/x86/x86_autoconf.c: revision 1.65
sys/arch/acorn26/acorn26/autoconf.c: revision 1.9
sys/arch/mvmeppc/mvmeppc/autoconf.c: revision 1.13
sys/arch/vax/vax/autoconf.c: revision 1.94
sys/arch/usermode/dev/cpu.c: revision 1.72
sys/arch/evbppc/virtex/autoconf.c: revision 1.5
sys/arch/next68k/next68k/autoconf.c: revision 1.26
sys/arch/mac68k/mac68k/autoconf.c: revision 1.73
sys/arch/ia64/ia64/autoconf.c: revision 1.6
sys/arch/evbppc/obs405/obs405_autoconf.c: revision 1.6
share/man/man9/cpu_rootconf.9: revision 1.7
sys/arch/landisk/landisk/autoconf.c: revision 1.6
sys/arch/evbmips/malta/autoconf.c: revision 1.16
sys/arch/sun3/sun3/autoconf.c: revision 1.76
sys/arch/evbppc/explora/autoconf.c: revision 1.13
sys/arch/sun3/sun3/autoconf.c: revision 1.77
sys/arch/evbmips/loongson/autoconf.c: revision 1.3
sys/arch/evbmips/atheros/autoconf.c: revision 1.11
sys/arch/sparc64/sparc64/autoconf.c: revision 1.188
sys/arch/acorn32/acorn32/autoconf.c: revision 1.18
sys/arch/evbarm/evbarm/autoconf.c: revision 1.13
sys/arch/cobalt/cobalt/autoconf.c: revision 1.30
sys/arch/mvme68k/mvme68k/autoconf.c: revision 1.46
sys/arch/hp700/hp700/autoconf.c: revision 1.48
sys/arch/evbmips/adm5120/autoconf.c: revision 1.5
sys/arch/hpcmips/hpcmips/autoconf.c: revision 1.25
sys/arch/alpha/alpha/autoconf.c: revision 1.52
sys/arch/sparc/sparc/autoconf.c: revision 1.244
sys/arch/evbppc/pmppc/autoconf.c: revision 1.7
sys/arch/bebox/bebox/autoconf.c: revision 1.25
sys/arch/luna68k/luna68k/autoconf.c: revision 1.13
sys/arch/hpcarm/hpcarm/autoconf.c: revision 1.20
sys/arch/evbppc/walnut/autoconf.c: revision 1.21
sys/arch/cesfic/cesfic/autoconf.c: revision 1.26
sys/arch/cats/cats/autoconf.c: revision 1.17
sys/arch/x68k/x68k/autoconf.c: revision 1.67
sys/arch/news68k/news68k/autoconf.c: revision 1.21
sys/arch/arc/arc/autoconf.c: revision 1.34
sys/arch/evbsh3/evbsh3/autoconf.c: revision 1.11
sys/sys/conf.h: revision 1.143
sys/arch/evbmips/rasoc/autoconf.c: revision 1.3
sys/arch/hpcsh/hpcsh/autoconf.c: revision 1.26
sys/arch/sun68k/sun68k/autoconf.c: revision 1.29
sys/arch/evbmips/rmixl/autoconf.c: revision 1.6
sys/arch/zaurus/zaurus/autoconf.c: revision 1.12
sys/arch/xen/x86/autoconf.c: revision 1.15
sys/arch/evbppc/mpc85xx/autoconf.c: revision 1.6
sys/arch/shark/shark/autoconf.c: revision 1.18
sys/arch/prep/prep/autoconf.c: revision 1.25
sys/arch/newsmips/newsmips/autoconf.c: revision 1.36
sys/arch/sbmips/sbmips/autoconf.c: revision 1.8
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.
No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().
Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().
Make cpu_rootconf(9) describe the calling order.
add rootconf(9) as a link to cpu_rootconf(9)
make this compile again
 1.143.2.3  03-Dec-2017  jdolecek update from HEAD
 1.143.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.143.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.144.10.1  10-Aug-2014  tls Rebase.
 1.145.4.2  05-Feb-2017  skrll Sync with HEAD
 1.145.4.1  19-Mar-2016  skrll Sync with HEAD
 1.146.2.3  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.146.2.2  17-Jul-2016  pgoyette Instead of initializing the 'pserialize_t psz' while holding a lock,
create a new devsw_detach_init() routine to hande this, and call it
after the pserialize system has been initialized.
 1.146.2.1  16-Jul-2016  pgoyette First pass of adding localcount(9) support for devsw. As with the
earlier autoconf changes, nothing currently uses this new feature.
 1.151.16.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.151.6.3  30-Apr-2017  pgoyette Only include sys/localcount.h if we're in the _KERNEL
 1.151.6.2  29-Apr-2017  pgoyette Revise previous. Rather than explicitly including <sys/localcount.h>
in all the places where {b,c}devsw is initialized, just include it
from <sys/conf.h>. This avoids an include-sequence dependancy.
 1.151.6.1  27-Apr-2017  pgoyette Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita. There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.

RSS XML Feed