History log of /netbsd-current/sys/arch/hp300/dev/rd.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.126 21-Apr-2023 tsutsui

Remove ancient /* ARGSUSED */ lint comments.


# 1.125 12-Feb-2023 andvar

fix various typos in comments.


Revision tags: netbsd-10-base
# 1.124 03-Dec-2022 tsutsui

Explicitly include <sys/kernel.h> for hz(9) as man pages says.

XXX: it looks sys/param.h r1.615 and later also has extern int hz


# 1.123 03-Dec-2022 tsutsui

Add empty DIOCCACHESYNC ioctl(2) for rd(4).

Without this raid(4) always complains on various raidctl(8) ops:
> raid0: cache flush[0] to component 0 failed (22)

RAID1 configured by raid(4) just works HP-IB disks on hp300.


# 1.122 01-Dec-2022 tsutsui

Misc KNF and cosmetics.


# 1.121 30-Nov-2022 tsutsui

Remove more duplicated static function declarations.


# 1.120 30-Nov-2022 tsutsui

Use proper RAW_PART macro rather than a magic number.


# 1.119 30-Nov-2022 tsutsui

Set disk_geom parameters required by DIOCGPARTINFO in disk_ioctl().

With this change raid(4) no longer complains before mountroot:
> RAIDframe: can't get disk size for dev rd0 (22)

Should be pulled up to netbsd-9.


# 1.118 30-Nov-2022 tsutsui

Remove a duplicated static function declaration.


# 1.117 30-Nov-2022 tsutsui

Pass a correct dev_t arg to disk_ioctl().

Probably harmless.


# 1.116 30-Nov-2022 tsutsui

Check bounds of each partition by MI bounds_check_with_label(9).

The previous implementation was committed in rev 1.26 about 26 years ago
and it looks there is no quirk to use the old MD one.


# 1.115 30-Nov-2022 tsutsui

Check bounds of RAW_PART by bounds_check_with_mediasize() as other drivers.

With this check, dd(1) without a count value against a raw partition
is terminated properly at the end of media. Tested on 425t and HPDisk.

Should be pulled up to netbsd-9.


# 1.114 25-Nov-2022 tsutsui

Remove unnecessary declarations.


# 1.113 25-Nov-2022 tsutsui

Use proper integer types for HP-IB xfer parameters.

No visible regression on 425t and HPDisk.


# 1.112 23-Nov-2022 tsutsui

Fix "rd(4) at punits not configured on HPDisk are misprobed" problem.

- check not only stat value returned by C_QSTAT command against
each punit but also desc.d_name returned by C_DESC command
because it looks HPDisk responds to commands against punits supported
but not-configured punits at 1-3
- prepare rdreset_unit() function to manage reset punit ops during
probe without valid softc

The stragety is taken from OpenBSD with several modification.
Tested on 425t with real 9122D and HPDisk emulating two 7937H drives.

Should be pulled up to netbsd-9.


# 1.111 21-Nov-2022 tsutsui

Use common macro for numbers of cylinders and blocks for HP-IB disks.

No binary changes.


Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.110 31-Jul-2021 andvar

s/threshhold/threshold


# 1.109 11-Jul-2021 tsutsui

Add Device and drive info of 2202A, 7908A, 7911A, and 7941A.

Geometries and description info are taken from hpdrive.ini.sample
in HPDrive. Briefly tested on HPDisk.


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

branches: 1.103.4;
Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

branches: 1.101.22;
MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.125 12-Feb-2023 andvar

fix various typos in comments.


Revision tags: netbsd-10-base
# 1.124 03-Dec-2022 tsutsui

Explicitly include <sys/kernel.h> for hz(9) as man pages says.

XXX: it looks sys/param.h r1.615 and later also has extern int hz


# 1.123 03-Dec-2022 tsutsui

Add empty DIOCCACHESYNC ioctl(2) for rd(4).

Without this raid(4) always complains on various raidctl(8) ops:
> raid0: cache flush[0] to component 0 failed (22)

RAID1 configured by raid(4) just works HP-IB disks on hp300.


# 1.122 01-Dec-2022 tsutsui

Misc KNF and cosmetics.


# 1.121 30-Nov-2022 tsutsui

Remove more duplicated static function declarations.


# 1.120 30-Nov-2022 tsutsui

Use proper RAW_PART macro rather than a magic number.


# 1.119 30-Nov-2022 tsutsui

Set disk_geom parameters required by DIOCGPARTINFO in disk_ioctl().

With this change raid(4) no longer complains before mountroot:
> RAIDframe: can't get disk size for dev rd0 (22)

Should be pulled up to netbsd-9.


# 1.118 30-Nov-2022 tsutsui

Remove a duplicated static function declaration.


# 1.117 30-Nov-2022 tsutsui

Pass a correct dev_t arg to disk_ioctl().

Probably harmless.


# 1.116 30-Nov-2022 tsutsui

Check bounds of each partition by MI bounds_check_with_label(9).

The previous implementation was committed in rev 1.26 about 26 years ago
and it looks there is no quirk to use the old MD one.


# 1.115 30-Nov-2022 tsutsui

Check bounds of RAW_PART by bounds_check_with_mediasize() as other drivers.

With this check, dd(1) without a count value against a raw partition
is terminated properly at the end of media. Tested on 425t and HPDisk.

Should be pulled up to netbsd-9.


# 1.114 25-Nov-2022 tsutsui

Remove unnecessary declarations.


# 1.113 25-Nov-2022 tsutsui

Use proper integer types for HP-IB xfer parameters.

No visible regression on 425t and HPDisk.


# 1.112 23-Nov-2022 tsutsui

Fix "rd(4) at punits not configured on HPDisk are misprobed" problem.

- check not only stat value returned by C_QSTAT command against
each punit but also desc.d_name returned by C_DESC command
because it looks HPDisk responds to commands against punits supported
but not-configured punits at 1-3
- prepare rdreset_unit() function to manage reset punit ops during
probe without valid softc

The stragety is taken from OpenBSD with several modification.
Tested on 425t with real 9122D and HPDisk emulating two 7937H drives.

Should be pulled up to netbsd-9.


# 1.111 21-Nov-2022 tsutsui

Use common macro for numbers of cylinders and blocks for HP-IB disks.

No binary changes.


Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.110 31-Jul-2021 andvar

s/threshhold/threshold


# 1.109 11-Jul-2021 tsutsui

Add Device and drive info of 2202A, 7908A, 7911A, and 7941A.

Geometries and description info are taken from hpdrive.ini.sample
in HPDrive. Briefly tested on HPDisk.


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

branches: 1.103.4;
Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

branches: 1.101.22;
MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.124 03-Dec-2022 tsutsui

Explicitly include <sys/kernel.h> for hz(9) as man pages says.

XXX: it looks sys/param.h r1.615 and later also has extern int hz


# 1.123 03-Dec-2022 tsutsui

Add empty DIOCCACHESYNC ioctl(2) for rd(4).

Without this raid(4) always complains on various raidctl(8) ops:
> raid0: cache flush[0] to component 0 failed (22)

RAID1 configured by raid(4) just works HP-IB disks on hp300.


# 1.122 01-Dec-2022 tsutsui

Misc KNF and cosmetics.


# 1.121 30-Nov-2022 tsutsui

Remove more duplicated static function declarations.


# 1.120 30-Nov-2022 tsutsui

Use proper RAW_PART macro rather than a magic number.


# 1.119 30-Nov-2022 tsutsui

Set disk_geom parameters required by DIOCGPARTINFO in disk_ioctl().

With this change raid(4) no longer complains before mountroot:
> RAIDframe: can't get disk size for dev rd0 (22)

Should be pulled up to netbsd-9.


# 1.118 30-Nov-2022 tsutsui

Remove a duplicated static function declaration.


# 1.117 30-Nov-2022 tsutsui

Pass a correct dev_t arg to disk_ioctl().

Probably harmless.


# 1.116 30-Nov-2022 tsutsui

Check bounds of each partition by MI bounds_check_with_label(9).

The previous implementation was committed in rev 1.26 about 26 years ago
and it looks there is no quirk to use the old MD one.


# 1.115 30-Nov-2022 tsutsui

Check bounds of RAW_PART by bounds_check_with_mediasize() as other drivers.

With this check, dd(1) without a count value against a raw partition
is terminated properly at the end of media. Tested on 425t and HPDisk.

Should be pulled up to netbsd-9.


# 1.114 25-Nov-2022 tsutsui

Remove unnecessary declarations.


# 1.113 25-Nov-2022 tsutsui

Use proper integer types for HP-IB xfer parameters.

No visible regression on 425t and HPDisk.


# 1.112 23-Nov-2022 tsutsui

Fix "rd(4) at punits not configured on HPDisk are misprobed" problem.

- check not only stat value returned by C_QSTAT command against
each punit but also desc.d_name returned by C_DESC command
because it looks HPDisk responds to commands against punits supported
but not-configured punits at 1-3
- prepare rdreset_unit() function to manage reset punit ops during
probe without valid softc

The stragety is taken from OpenBSD with several modification.
Tested on 425t with real 9122D and HPDisk emulating two 7937H drives.

Should be pulled up to netbsd-9.


# 1.111 21-Nov-2022 tsutsui

Use common macro for numbers of cylinders and blocks for HP-IB disks.

No binary changes.


Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.110 31-Jul-2021 andvar

s/threshhold/threshold


# 1.109 11-Jul-2021 tsutsui

Add Device and drive info of 2202A, 7908A, 7911A, and 7941A.

Geometries and description info are taken from hpdrive.ini.sample
in HPDrive. Briefly tested on HPDisk.


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

branches: 1.103.4;
Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

branches: 1.101.22;
MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.122 01-Dec-2022 tsutsui

Misc KNF and cosmetics.


# 1.121 30-Nov-2022 tsutsui

Remove more duplicated static function declarations.


# 1.120 30-Nov-2022 tsutsui

Use proper RAW_PART macro rather than a magic number.


# 1.119 30-Nov-2022 tsutsui

Set disk_geom parameters required by DIOCGPARTINFO in disk_ioctl().

With this change raid(4) no longer complains before mountroot:
> RAIDframe: can't get disk size for dev rd0 (22)

Should be pulled up to netbsd-9.


# 1.118 30-Nov-2022 tsutsui

Remove a duplicated static function declaration.


# 1.117 30-Nov-2022 tsutsui

Pass a correct dev_t arg to disk_ioctl().

Probably harmless.


# 1.116 30-Nov-2022 tsutsui

Check bounds of each partition by MI bounds_check_with_label(9).

The previous implementation was committed in rev 1.26 about 26 years ago
and it looks there is no quirk to use the old MD one.


# 1.115 30-Nov-2022 tsutsui

Check bounds of RAW_PART by bounds_check_with_mediasize() as other drivers.

With this check, dd(1) without a count value against a raw partition
is terminated properly at the end of media. Tested on 425t and HPDisk.

Should be pulled up to netbsd-9.


# 1.114 25-Nov-2022 tsutsui

Remove unnecessary declarations.


# 1.113 25-Nov-2022 tsutsui

Use proper integer types for HP-IB xfer parameters.

No visible regression on 425t and HPDisk.


# 1.112 23-Nov-2022 tsutsui

Fix "rd(4) at punits not configured on HPDisk are misprobed" problem.

- check not only stat value returned by C_QSTAT command against
each punit but also desc.d_name returned by C_DESC command
because it looks HPDisk responds to commands against punits supported
but not-configured punits at 1-3
- prepare rdreset_unit() function to manage reset punit ops during
probe without valid softc

The stragety is taken from OpenBSD with several modification.
Tested on 425t with real 9122D and HPDisk emulating two 7937H drives.

Should be pulled up to netbsd-9.


# 1.111 21-Nov-2022 tsutsui

Use common macro for numbers of cylinders and blocks for HP-IB disks.

No binary changes.


Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.110 31-Jul-2021 andvar

s/threshhold/threshold


# 1.109 11-Jul-2021 tsutsui

Add Device and drive info of 2202A, 7908A, 7911A, and 7941A.

Geometries and description info are taken from hpdrive.ini.sample
in HPDrive. Briefly tested on HPDisk.


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

branches: 1.103.4;
Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

branches: 1.101.22;
MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.114 25-Nov-2022 tsutsui

Remove unnecessary declarations.


# 1.113 25-Nov-2022 tsutsui

Use proper integer types for HP-IB xfer parameters.

No visible regression on 425t and HPDisk.


# 1.112 23-Nov-2022 tsutsui

Fix "rd(4) at punits not configured on HPDisk are misprobed" problem.

- check not only stat value returned by C_QSTAT command against
each punit but also desc.d_name returned by C_DESC command
because it looks HPDisk responds to commands against punits supported
but not-configured punits at 1-3
- prepare rdreset_unit() function to manage reset punit ops during
probe without valid softc

The stragety is taken from OpenBSD with several modification.
Tested on 425t with real 9122D and HPDisk emulating two 7937H drives.

Should be pulled up to netbsd-9.


# 1.111 21-Nov-2022 tsutsui

Use common macro for numbers of cylinders and blocks for HP-IB disks.

No binary changes.


Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.110 31-Jul-2021 andvar

s/threshhold/threshold


# 1.109 11-Jul-2021 tsutsui

Add Device and drive info of 2202A, 7908A, 7911A, and 7941A.

Geometries and description info are taken from hpdrive.ini.sample
in HPDrive. Briefly tested on HPDisk.


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

branches: 1.103.4;
Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

branches: 1.101.22;
MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.112 23-Nov-2022 tsutsui

Fix "rd(4) at punits not configured on HPDisk are misprobed" problem.

- check not only stat value returned by C_QSTAT command against
each punit but also desc.d_name returned by C_DESC command
because it looks HPDisk responds to commands against punits supported
but not-configured punits at 1-3
- prepare rdreset_unit() function to manage reset punit ops during
probe without valid softc

The stragety is taken from OpenBSD with several modification.
Tested on 425t with real 9122D and HPDisk emulating two 7937H drives.

Should be pulled up to netbsd-9.


# 1.111 21-Nov-2022 tsutsui

Use common macro for numbers of cylinders and blocks for HP-IB disks.

No binary changes.


Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.110 31-Jul-2021 andvar

s/threshhold/threshold


# 1.109 11-Jul-2021 tsutsui

Add Device and drive info of 2202A, 7908A, 7911A, and 7941A.

Geometries and description info are taken from hpdrive.ini.sample
in HPDrive. Briefly tested on HPDisk.


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

branches: 1.103.4;
Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

branches: 1.101.22;
MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.111 21-Nov-2022 tsutsui

Use common macro for numbers of cylinders and blocks for HP-IB disks.

No binary changes.


Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.110 31-Jul-2021 andvar

s/threshhold/threshold


# 1.109 11-Jul-2021 tsutsui

Add Device and drive info of 2202A, 7908A, 7911A, and 7941A.

Geometries and description info are taken from hpdrive.ini.sample
in HPDrive. Briefly tested on HPDisk.


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

branches: 1.103.4;
Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

branches: 1.101.22;
MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.110 31-Jul-2021 andvar

s/threshhold/threshold


# 1.109 11-Jul-2021 tsutsui

Add Device and drive info of 2202A, 7908A, 7911A, and 7941A.

Geometries and description info are taken from hpdrive.ini.sample
in HPDrive. Briefly tested on HPDisk.


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

branches: 1.101.22;
MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.109 11-Jul-2021 tsutsui

Add Device and drive info of 2202A, 7908A, 7911A, and 7941A.

Geometries and description info are taken from hpdrive.ini.sample
in HPDrive. Briefly tested on HPDisk.


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.108 09-Jul-2021 tsutsui

Add support of multiple rd(4) disks on all punits for HPDisk.

Special thanks to Anders Gustafsson, the author of "HPDisk"
(GPIB disk emulator) http://www.dalton.ax/hpdisk/
for providing bare boards and improving firmwares for NetBSD/hp300.


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.107 05-Jul-2021 tsutsui

Cleanup duplicated CS/80 indentify structures. From OpenBSD.

https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2
> Define the CS/80 identify structure only once and correctly, instead of
> duplicating it in every CS/80 driver and using an hardcoded number for
> its size.
> No functional change.

https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2
> Pick HP-IB describe structures changes from main kernel code here as well.


# 1.106 05-Jul-2021 tsutsui

Move attach messages from common rdident() to explicit rdattach().


# 1.105 05-Jul-2021 tsutsui

Pull HP-IB probe fixes from OpenBSD/hp300.

https://marc.info/?l=openbsd-cvs&m=113217630426615&w=2
> Overhaul the way HP-IB devices are probed. We will now do an exhaustive
> probe of the (slave, punit) tuple space, since this is the only way we
> can get a dual disk or dual tape enclosure to attach two devices of the
> same kind.

This allows using multiple rd(4) disk images on the same slave emulated
by HPDisk (and probably the real 9122D with dual floppy disk drives).

Thanks to Miod Vallat for suggesting this fix.


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.104 30-Jun-2021 tsutsui

No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.103 10-Jan-2021 tsutsui

Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


# 1.102 29-Sep-2020 msaitoh

branches: 1.102.2;
s/parition/partition/


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.103 10-Jan-2021 tsutsui

Print rd(4) capacity and geometry info as sd(4) and wd(4) do.

Before:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 698 cylinders, 13 heads, 1116102 blocks, 512 bytes/block

After:
rd0 at hpibbus1 slave 0 punit 0: 7937H
rd0: 544 MB, 698 cyl, 13 head, 123 sec, 512 bytes/block x 1116102 blocks


Revision tags: thorpej-futex-base
# 1.102 29-Sep-2020 msaitoh

s/parition/partition/


Revision tags: netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision


# 1.102 29-Sep-2020 msaitoh

s/parition/partition/


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
# 1.101 13-Apr-2015 riastradh

MD rnd.h cleanups. Please let me know if I broke anything!


Revision tags: nick-nhusb-base-20150406
# 1.100 02-Jan-2015 christos

We have three sets of DTYPE_ constants in the kernel:
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.


# 1.99 31-Dec-2014 christos

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-maxphys-base
# 1.98 10-Aug-2014 tls

branches: 1.98.4;
Merge tls-earlyentropy branch into HEAD.


Revision tags: tls-earlyentropy-base
# 1.97 25-Jul-2014 dholland

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.


# 1.96 25-Jul-2014 dholland

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base
# 1.95 24-Mar-2014 christos

branches: 1.95.2;
- remove unused
- use cpu_{g,s}etmodel


Revision tags: riastradh-drm2-base3
# 1.94 16-Mar-2014 dholland

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.93 13-Oct-2012 tsutsui

branches: 1.93.2;
struct device * -> device_t, struct cfdata * -> cfdata_t
use device_xname() (from chs@)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
# 1.92 02-Feb-2012 tls

branches: 1.92.6;
Entropy-pool implementation move and cleanup.

1) Move core entropy-pool code and source/sink/sample management code
to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
avoid expensive operations on disabled entropy sources; make the
rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
system events, and skew between clocks, with a sample implementation
for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files). Tested with release
builds on amd64 and evbarm and live testing on amd64.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.91 28-Jul-2011 uebayasi

branches: 1.91.2; 1.91.6;
dev_t is uint64_t; use PRIx64 to print it. Fix DEBUG build.


Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base rmind-uvmplock-base jym-xensuspend-base
# 1.90 08-Feb-2011 rmind

Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base mjf-devfs2-base
# 1.89 13-Jan-2009 yamt

branches: 1.89.6; 1.89.8; 1.89.10;
g/c BUFQ_FOO() macros and use bufq_foo() directly.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase simonb-wapbl-base wrstuden-revivesa-base
# 1.88 17-Jun-2008 he

branches: 1.88.4;
Add some missing parenthesis to restore this to a buildable state.


Revision tags: yamt-pf42-base4
# 1.87 13-Jun-2008 cegger

use device_lookup_private to get softc


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2
# 1.86 28-Apr-2008 martin

branches: 1.86.2; 1.86.4;
Remove clause 3 and 4 from TNF licenses


Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base
# 1.85 29-Mar-2008 tsutsui

branches: 1.85.2; 1.85.4;
Split device_t/softc, and misc cosmetic changes.


Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
# 1.84 17-Oct-2007 garbled

branches: 1.84.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: yamt-x86pmap-base3 ppcoea-renovation-base vmlocking-base
# 1.83 08-Oct-2007 ad

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base
# 1.82 29-Jul-2007 ad

branches: 1.82.4; 1.82.6; 1.82.8;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.


Revision tags: nick-csl-alignment-base
# 1.81 12-Jul-2007 he

branches: 1.81.2; 1.81.4;
Adapt to the new signature of callout_init().


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
# 1.80 04-Mar-2007 tsutsui

branches: 1.80.2; 1.80.10;
Use (char *) cast on pointer arith.


# 1.79 04-Mar-2007 christos

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.78 21-Jul-2006 tsutsui

branches: 1.78.10;
Some KNF.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase chap-midi-base
# 1.77 16-Jun-2006 tsutsui

- strncpy -> strlcpy
- 16 -> sizeof(foo)


Revision tags: gdamore-uart-base
# 1.76 10-Jun-2006 tsutsui

branches: 1.76.2;
space nits.


Revision tags: yamt-pdpolicy-base5 simonb-timecounters-base
# 1.75 14-May-2006 elad

branches: 1.75.2;
integrate kauth.


Revision tags: elad-kernelauth-base
# 1.74 14-Apr-2006 blymn

Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.


Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
# 1.73 29-Mar-2006 tsutsui

Add a missing parenthesis.


# 1.72 28-Mar-2006 thorpej

Use device_unit().


Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
# 1.71 25-Feb-2006 wiz

branches: 1.71.2; 1.71.4; 1.71.6;
Fix some typos.


# 1.70 23-Feb-2006 thorpej

Use device_parent().


# 1.69 11-Dec-2005 christos

branches: 1.69.2; 1.69.4; 1.69.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.68 15-Oct-2005 yamt

- change the way to specify a bufq strategy. (by string rather than by number)
- rather than embedding bufq_state in driver softc,
have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
from sys/bufq.h to sys/bufq_impl.h.
(is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c. (not tested)


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
# 1.67 19-Feb-2005 tsutsui

branches: 1.67.6;
Include "ioconf.h" for struct cfdriver *_cd decls.


Revision tags: yamt-km-base2
# 1.66 05-Feb-2005 chs

make this compile with DEBUG.


Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
# 1.65 28-Oct-2004 yamt

branches: 1.65.4; 1.65.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.


# 1.64 28-Aug-2004 thorpej

Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label
your disks already.


# 1.63 28-Aug-2004 thorpej

Use ANSI function decls, static, and const.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.62 17-Nov-2003 tsutsui

TAB/space cleanup.


# 1.61 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.60 29-Jun-2003 fvdl

branches: 1.60.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.


# 1.59 29-Jun-2003 thorpej

Adapt to ktrace/lwp changes.


# 1.58 03-May-2003 wiz

DMA, not dma nor Dma.


# 1.57 02-May-2003 dsl

Change return type of readdisklabel() to const char *
I hope I've found all the correct places!


# 1.56 14-Feb-2003 gmcgarry

Handle 64-bit daddr_t.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.55 01-Nov-2002 mrg

implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
when processing hw.diskstats, add the read&write bytes/transfers for
the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail. however, the next time this is
change it will not fail again.

this is just the kernel portion.


Revision tags: kqueue-aftermerge
# 1.54 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


Revision tags: kqueue-beforemerge kqueue-base
# 1.53 02-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.52 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.51 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.


Revision tags: gehenna-devsw-base
# 1.50 26-Jul-2002 hannken

Convert to new device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.49 08-Apr-2002 gmcgarry

branches: 1.49.2;
Create default disklabel correctly.


Revision tags: eeh-devprop-base
# 1.48 15-Mar-2002 gmcgarry

Add RCSIDs.


Revision tags: newlock-base ifpoll-base
# 1.47 10-Feb-2002 gmcgarry

Implement DIOCGDEFLABEL ioctl.


# 1.46 08-Dec-2001 gmcgarry

bcopy -> memcpy
bzero -> memset
bcmp -> memcmp


Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.45 16-Sep-2001 wiz

branches: 1.45.4;
Spell 'occurred' with two 'r's.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.44 10-Oct-2000 he

branches: 1.44.2; 1.44.4;
Add randomness sampling from hil, sd and rd devices.


Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
# 1.43 27-May-2000 thorpej

branches: 1.43.4;
sleep() -> tsleep()


# 1.42 19-May-2000 thorpej

A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.


# 1.41 23-Mar-2000 thorpej

New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.


Revision tags: chs-ubc2-newbase
# 1.40 11-Feb-2000 kleink

printf format mismatch in DEBUG code (related to already fixed PR hp300/9388).


# 1.39 07-Feb-2000 thorpej

Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle. Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.


# 1.38 31-Jan-2000 kleink

Make these build again after buf.h/disksort changes.


# 1.37 21-Jan-2000 thorpej

Update for sys/buf.h/disksort_*() changes.


Revision tags: netbsd-1-4-PATCH002 wrstuden-devbsize-19991221 wrstuden-devbsize-base kame_141_19991130 comdex-fall-1999-base fvdl-softdep-base netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base eeh-paddr_t-base
# 1.36 12-Jan-1998 thorpej

branches: 1.36.8; 1.36.14; 1.36.20;
Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
# 1.35 04-Oct-1997 thorpej

Copyright assigned to The NetBSD Foundation.


Revision tags: thorpej-signal-base marc-pcmcia-bp
# 1.34 22-Jul-1997 kleink

branches: 1.34.2;
Remove old *_UNK style default defines, use standard names from locators.h.
Missed in "locators.h" cleanup; reported by Thorsten Frueauf in PR 3906.


# 1.33 10-Jul-1997 kleink

Remove misplaced/unnecessary VM #include cruft; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-hp300/3851.


# 1.32 24-Jun-1997 thorpej

foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.


# 1.31 05-May-1997 thorpej

Update for USELEDS changes.


# 1.30 09-Apr-1997 thorpej

Use the %x printf format where appropriate


# 1.29 02-Apr-1997 scottr

Fix printf() and other warnings when compiled with DEBUG defined.


# 1.28 31-Mar-1997 scottr

Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.


Revision tags: is-newarp-before-merge is-newarp-base
# 1.27 30-Jan-1997 thorpej

Convert to new-style autoconfiguration; old-style config is no longer
supported.


# 1.26 07-Jan-1997 thorpej

Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".


# 1.25 14-Oct-1996 thorpej

Set the device class on non-dull devices. This is a transitional thing.


# 1.24 13-Oct-1996 christos

backout previous kprintf changes


# 1.23 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.22 06-Oct-1996 thorpej

Fix kernel crash dumps. Still uses the old format for now.


# 1.21 06-Jun-1996 thorpej

Remove the old-style disk instrumentation support. Nothing uses it
anymore.


Revision tags: netbsd-1-2-base
# 1.20 14-Feb-1996 thorpej

branches: 1.20.4;
All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number. Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY! No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".


# 1.19 03-Feb-1996 thorpej

Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited.


# 1.18 10-Jan-1996 thorpej

Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch(). Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach. My patch tested (and fixed :-) by
Herb Peyerl.


# 1.17 07-Jan-1996 thorpej

New generic disk framework. Highlights:

- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.

- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.

- Several new functions for attaching and detaching disks, and
handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.


# 1.16 09-Dec-1995 thorpej

Pass the correct number of arguments to readdisklabel().


# 1.15 02-Dec-1995 thorpej

Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.


# 1.14 19-Nov-1995 thorpej

Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.13 09-Oct-1995 thorpej

Pass correct number of arguments to hpibgo().


# 1.12 04-Aug-1995 thorpej

Update for conf.h changes.


# 1.11 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.10 26-Oct-1994 cgd

new RCS ID format.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.9 27-May-1994 mycroft

Bug fixes from Mike Hibler.


# 1.8 23-May-1994 mycroft

Merge with 4.4-Lite.


# 1.7 11-May-1994 mycroft

Get rid of private *read() and *write() functions.


# 1.6 05-May-1994 mycroft

Most of the changes needed to make this continue to run.


# 1.5 10-Feb-1994 mycroft

Add arg to ioctl functions. Clean up #includes.


# 1.4 11-Jan-1994 mycroft

*strategy functions return void.


Revision tags: magnum-base
# 1.3 01-Aug-1993 mycroft

Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.


Revision tags: netbsd-0-9-patch-001 netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.2 22-May-1993 cgd

add rcsids to everything and clean up headers


# 1.1 13-May-1993 cgd

branches: 1.1.1;
Initial revision