History log of /src/sys/arch/hp300/dev/rdvar.h |
Revision | | Date | Author | Comments |
1.27 |
| 23-Nov-2022 |
tsutsui | Remove now unused buffer members from softc prepared only for rdreset().
|
1.26 |
| 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.25 |
| 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.24 |
| 04-Jun-2021 |
tsutsui | Consistently use #define<tab> as rdreg.h.
|
1.23 |
| 14-Apr-2015 |
riastradh | branches: 1.23.22; 1.23.34; 1.23.38; Include <sys/rndsource.h> where it is actually used.
I had removed <sys/rnd.h> from files that didn't mention anything of the rnd(9) API. But they included other files which assumed <sys/rnd.h> had already been included.
|
1.22 |
| 02-Feb-2012 |
tls | branches: 1.22.6; 1.22.24; 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.
|
1.21 |
| 19-Nov-2011 |
tls | branches: 1.21.2; First step of random number subsystem rework described in <20111022023242.BA26F14A158@mail.netbsd.org>. This change includes the following:
An initial cleanup and minor reorganization of the entropy pool code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are fixed. Some effort is made to accumulate entropy more quickly at boot time.
A generic interface, "rndsink", is added, for stream generators to request that they be re-keyed with good quality entropy from the pool as soon as it is available.
The arc4random()/arc4randbytes() implementation in libkern is adjusted to use the rndsink interface for rekeying, which helps address the problem of low-quality keys at boot time.
An implementation of the FIPS 140-2 statistical tests for random number generator quality is provided (libkern/rngtest.c). This is based on Greg Rose's implementation from Qualcomm.
A new random stream generator, nist_ctr_drbg, is provided. It is based on an implementation of the NIST SP800-90 CTR_DRBG by Henric Jungheim. This generator users AES in a modified counter mode to generate a backtracking-resistant random stream.
An abstraction layer, "cprng", is provided for in-kernel consumers of randomness. The arc4random/arc4randbytes API is deprecated for in-kernel use. It is replaced by "cprng_strong". The current cprng_fast implementation wraps the existing arc4random implementation. The current cprng_strong implementation wraps the new CTR_DRBG implementation. Both interfaces are rekeyed from the entropy pool automatically at intervals justifiable from best current cryptographic practice.
In some quick tests, cprng_fast() is about the same speed as the old arc4randbytes(), and cprng_strong() is about 20% faster than rnd_extract_data(). Performance is expected to improve.
The AES code in src/crypto/rijndael is no longer an optional kernel component, as it is required by cprng_strong, which is not an optional kernel component.
The entropy pool output is subjected to the rngtest tests at startup time; if it fails, the system will reboot. There is approximately a 3/10000 chance of a false positive from these tests. Entropy pool _input_ from hardware random numbers is subjected to the rngtest tests at attach time, as well as the FIPS continuous-output test, to detect bad or stuck hardware RNGs; if any are detected, they are detached, but the system continues to run.
A problem with rndctl(8) is fixed -- datastructures with pointers in arrays are no longer passed to userspace (this was not a security problem, but rather a major issue for compat32). A new kernel will require a new rndctl.
The sysctl kern.arandom() and kern.urandom() nodes are hooked up to the new generators, but the /dev/*random pseudodevices are not, yet.
Manual pages for the new kernel interfaces are forthcoming.
|
1.20 |
| 08-Feb-2011 |
rmind | branches: 1.20.4; 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@.
|
1.19 |
| 11-Jan-2009 |
tsutsui | branches: 1.19.6; 1.19.8; 1.19.10; Add casts to int to rdunit() and rdpart() macro to suppress a warning since they are unlikely 64 bits.
XXX: actually these should be DISKUNIT() and DISKPART() in <sys/disklabel.h>.
|
1.18 |
| 29-Mar-2008 |
tsutsui | branches: 1.18.4; 1.18.12; Split device_t/softc, and misc cosmetic changes.
|
1.17 |
| 11-Dec-2005 |
christos | branches: 1.17.74; merge ktrace-lwp.
|
1.16 |
| 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)
|
1.15 |
| 02-Jun-2005 |
tsutsui | branches: 1.15.2; Add const.
|
1.14 |
| 28-Aug-2004 |
thorpej | Remove the last vestiges of COMPAT_NOLABEL. It's been 10 years; label your disks already.
|
1.13 |
| 28-Aug-2004 |
thorpej | Use ANSI function decls, static, and const.
|
1.12 |
| 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.11 |
| 26-Jul-2002 |
hannken | branches: 1.11.6; Convert to new device buffer queue interface.
Approved by: Jason R. Thorpe <thorpej@netbsd.org>
|
1.10 |
| 10-Oct-2000 |
he | branches: 1.10.4; 1.10.8; 1.10.16; Add randomness sampling from hil, sd and rd devices.
|
1.9 |
| 23-Mar-2000 |
thorpej | branches: 1.9.4; 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.
|
1.8 |
| 21-Jan-2000 |
thorpej | Update for sys/buf.h/disksort_*() changes.
|
1.7 |
| 31-Mar-1997 |
scottr | branches: 1.7.16; 1.7.22; Add prototypes, and make this compile with -Wall. Remove register modifier from all declarations.
|
1.6 |
| 30-Jan-1997 |
thorpej | Convert to new-style autoconfiguration; old-style config is no longer supported.
|
1.5 |
| 06-Jun-1996 |
thorpej | Remove the old-style disk instrumentation support. Nothing uses it anymore.
|
1.4 |
| 07-Jan-1996 |
thorpej | branches: 1.4.4; 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.3 |
| 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.
|
1.2 |
| 26-Oct-1994 |
cgd | new RCS ID format.
|
1.1 |
| 23-May-1994 |
mycroft | Merge with 4.4-Lite.
|
1.4.4.1 |
| 06-Jun-1996 |
thorpej | Update from trunk:
Remove old-style disk instrumentation support. Nothing uses it anymore.
|
1.7.22.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.7.16.1 |
| 12-Oct-2000 |
he | Pull up revision 1.10 (requested by he): Add randomness sampling for hil, sd and rd on the hp300 port.
|
1.9.4.1 |
| 18-Oct-2000 |
tv | Pullup 1.10 [he]: Add randomness sampling from hil, sd and rd devices.
|
1.10.16.1 |
| 30-Aug-2002 |
gehenna | catch up with -current.
|
1.10.8.1 |
| 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.10.4.1 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.11.6.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.11.6.4 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.11.6.3 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.11.6.2 |
| 03-Sep-2004 |
skrll | Sync with HEAD
|
1.11.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.15.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.17.74.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.17.74.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.18.12.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.18.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.19.10.1 |
| 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.19.8.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.19.6.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.20.4.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.21.2.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.22.24.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.22.6.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.23.38.1 |
| 06-Jun-2021 |
cjep | sync with head
|
1.23.34.2 |
| 01-Aug-2021 |
thorpej | Sync with HEAD.
|
1.23.34.1 |
| 17-Jun-2021 |
thorpej | Sync w/ HEAD.
|
1.23.22.2 |
| 06-Dec-2022 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #1552):
sys/arch/hp300/dev/rd.c: revision 1.120 sys/arch/hp300/dev/rd.c: revision 1.121 sys/arch/hp300/dev/rd.c: revision 1.122 sys/arch/hp300/dev/rd.c: revision 1.123 sys/arch/hp300/dev/rd.c: revision 1.124 sys/arch/hp300/dev/rdreg.h: revision 1.19 sys/arch/hp300/dev/rd.c: revision 1.111 sys/arch/hp300/dev/rd.c: revision 1.112 sys/arch/hp300/dev/rd.c: revision 1.113 sys/arch/hp300/stand/common/rd.c: revision 1.12 sys/arch/hp300/dev/rd.c: revision 1.114 sys/arch/hp300/stand/common/rd.c: revision 1.13 sys/arch/hp300/dev/rd.c: revision 1.115 sys/arch/hp300/stand/common/rd.c: revision 1.14 sys/arch/hp300/dev/rd.c: revision 1.116 sys/arch/hp300/stand/common/rd.c: revision 1.15 sys/arch/hp300/dev/rd.c: revision 1.117 sys/arch/hp300/dev/rd.c: revision 1.118 sys/arch/hp300/dev/rd.c: revision 1.119 sys/arch/hp300/dev/rdvar.h: revision 1.27 sys/arch/hp300/dev/rdreg.h: revision 1.20
Sync a list of HP-IB disk IDs with kernel's one. Now bootloader can boot from 2202A, 7908A, 7911A, and 7941A. Tested on 425t and HPDisk.
Make local variables static and read only ones const.
Use common macro for numbers of cylinders and blocks for HP-IB disks. No binary changes.
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.
Remove now unused buffer members from softc prepared only for rdreset().
Use proper integer types for HP-IB xfer parameters. No visible regression on 425t and HPDisk.
Sync with rdreg.h integer type changes.
Remove unnecessary declarations.
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.
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.
Pass a correct dev_t arg to disk_ioctl(). Probably harmless.
Remove a duplicated static function declaration.
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.
Use proper RAW_PART macro rather than a magic number.
Remove more duplicated static function declarations.
Misc KNF and cosmetics.
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.
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.23.22.1 |
| 14-Jul-2021 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #1323):
sys/arch/hp300/dev/rd.c: revision 1.109 sys/arch/hp300/stand/Makefile.buildboot: revision 1.37 sys/arch/hp300/stand/common/ct.c: revision 1.8 sys/arch/hp300/dev/hpibvar.h: revision 1.22 sys/arch/hp300/dev/ct.c: revision 1.62 sys/arch/hp300/dev/hpibvar.h: revision 1.23 sys/arch/hp300/dev/ct.c: revision 1.63 sys/arch/hp300/dev/hpibvar.h: revision 1.24 sys/arch/hp300/dev/mt.c: revision 1.55 sys/arch/hp300/dev/rdreg.h: revision 1.14 sys/arch/hp300/dev/hpib.c: revision 1.43 (via patch) sys/arch/hp300/dev/rdreg.h: revision 1.15 sys/arch/hp300/dev/rdreg.h: revision 1.16 sys/arch/hp300/dev/rdreg.h: revision 1.17 etc/etc.hp300/MAKEDEV.conf: revision 1.15 sys/arch/hp300/stand/common/hpibvar.h: revision 1.6 sys/arch/hp300/stand/common/rd.c: revision 1.11 sys/arch/hp300/dev/ctreg.h: revision 1.11 sys/arch/hp300/dev/rdvar.h: revision 1.24 sys/arch/hp300/dev/rdvar.h: revision 1.25 sys/arch/hp300/dev/rdvar.h: revision 1.26 sys/arch/hp300/dev/rd.c: revision 1.103 sys/arch/hp300/dev/rd.c: revision 1.104 sys/arch/hp300/dev/rd.c: revision 1.105 sys/arch/hp300/dev/rd.c: revision 1.106 sys/arch/hp300/dev/rd.c: revision 1.107 sys/arch/hp300/dev/rd.c: revision 1.108
Consistently use #define<tab> here.
Consistently use #define<tab> as rdreg.h.
No need to bother to use aprint_debug(9) inside #ifdef DEBUG block.
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.
Move attach messages from common rdident() to explicit rdattach().
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.
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.
Specify -fno-unwind-tables to shrink binaries.
Before: text data bss dec hex filename 77902 4328 137120 219350 358d6 uboot
After: text data bss dec hex filename 64186 4328 137120 205634 32342 uboot
Create rd3 device nodes, for HPDisk.
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.
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
|