Home | History | Annotate | Download | only in mscp
History log of /src/sys/dev/mscp/mscp_subr.c
RevisionDateAuthorComments
 1.49  10-Feb-2024  andvar s/indicies/indices/ in comments.
 1.48  07-Apr-2022  andvar fix various typos in comments.
 1.47  01-Jun-2017  chs remove checks for failure after memory allocation calls that cannot fail:

kmem_alloc() with KM_SLEEP
kmem_zalloc() with KM_SLEEP
percpu_alloc()
pserialize_create()
psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.
 1.46  25-Oct-2013  martin branches: 1.46.6;
Eliminate unused variables
 1.45  26-Mar-2013  martin branches: 1.45.4;
Fix device_t split glitch
 1.44  27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.43  10-Jul-2012  abs branches: 1.43.2;
Adjust MSCP attach routines. The current code worked fine on simh-vax, but
unfortunately failed on at least one 'real' SCSI MSCP adaptor.
In the updated code mscp_attach() still iterates over each unit on a bus,
but mscp_dorsp() now detects if we have reached the last unit and does not
return a bogus additional unit. It also loses a few gotos and handles
noncontiguous unit numbers better.
 1.42  22-Jun-2012  abs - Add racd* devices for MSCP based CD-ROM drives (RRD40s), as opposed
to mixing them in with the ra* disks, modelled loosely on how MSCP
rx* floppies are handled
- racd* defaults to the same single iso9660 partition as cd*
- Cleanup config option handling slightly so any combination of ra*,
rx* (and now raccd*) can be defined without build errors.
- Avoid ugly printf when disks have all zero disklabel magic number
 1.41  12-May-2009  cegger branches: 1.41.12; 1.41.18;
struct device * -> device_t, no functional changes intended.
 1.40  12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.39  14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.38  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.37  19-Jan-2009  mjf branches: 1.37.2;
mscp(4) was being a bad monkey! It's not OK to call config_found() from
interrupt context, as my vax kernel with DIAGNOSTIC told me. Instead, we
defer the work and get it to run in thread context via a workqueue(9).

Thanks to matt@ for the review.
 1.36  13-Jan-2009  yamt g/c BUFQ_FOO() macros and use bufq_foo() directly.
 1.35  08-Apr-2008  cegger branches: 1.35.4; 1.35.12;
use aprint_*_dev and device_xname
 1.34  19-Oct-2007  ad branches: 1.34.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.33  29-Apr-2007  msaitoh branches: 1.33.6; 1.33.8; 1.33.12;
fix typos
 1.32  29-Mar-2006  thorpej branches: 1.32.14; 1.32.18; 1.32.20;
Use device_private().
 1.31  25-Mar-2006  thorpej Use device_parent().
 1.30  11-Dec-2005  christos branches: 1.30.4; 1.30.6; 1.30.8; 1.30.10; 1.30.12;
merge ktrace-lwp.
 1.29  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.28  27-Jun-2005  ragge branches: 1.28.2;
Fixes due to cast-qual addition.
 1.27  27-Feb-2005  perry nuke trailing whitespace
 1.26  04-Feb-2005  perry de-__P
 1.25  28-Oct-2004  yamt branches: 1.25.4; 1.25.6;
move buffer queue related stuffs from buf.h to their own header, bufq.h.
 1.24  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.23  01-Jan-2003  thorpej branches: 1.23.2;
Use aprint_normal() in cfprint routines.
 1.22  02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.21  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.20  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.19  22-Jul-2002  hannken Convert to new device buffer queue interface.

Approved by: Anders Magnusson <ragge@netbsd.org>
 1.18  13-Nov-2001  lukem branches: 1.18.8;
add RCSID
 1.17  12-Apr-2001  thorpej branches: 1.17.2;
Upon inspection of a 4000/600 dmesg, change the splbios to splubas.

XXX THIS CODE IS SERIOUSLY BROKEN! MSCP DEVICES ARE BLOCK I/O DEVICES,
AND THUS SPLBIO SHOULD BLOCK THEIR INTERRUPTS. The VAX port really
needs to get virtualized spl*() levels.
 1.16  12-Apr-2001  thorpej splimp -> splbio
 1.15  30-Mar-2000  augustss branches: 1.15.6;
Remove register declarations.
 1.14  26-Mar-2000  ragge Allow 16 fragments for MSCP DMA.
 1.13  21-Jan-2000  thorpej Update for sys/buf.h/disksort_*() changes.
 1.12  06-Jun-1999  ragge branches: 1.12.2; 1.12.4;
Bus'ify the mscp code also.
 1.11  29-May-1999  ragge Copied from ../../arch/vax/mscp/mscp_subr.c,v
 1.10  05-Nov-1998  ragge EGCS fixes + TU81 fix.
 1.9  08-Feb-1998  ragge Split out MSCP floppies as a separate device (rx) instead of handling
them as disk drives. It is now also allowed to change floppies without
the system complaining :-)
 1.8  24-Jan-1998  ragge Remove __BROKEN_INDIRECT_CONFIG and change all drivers to use
config_search instead.
 1.7  12-Jan-1998  thorpej Update for changes to config.
 1.6  11-Jan-1997  ragge Many minor bug fixes; mscp subsystem seems to work rather stable now.
 1.5  13-Oct-1996  christos backout previous kprintf change
 1.4  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.3  11-Jul-1996  ragge Automatic changing of root device after boot now works.
 1.2  10-Jul-1996  ragge Add support for tape drives. More extensive error checking.
 1.1  01-Jul-1996  ragge Totally new approach for MSCP devices; they are now handled more like SCSI.
All Unibus dependencies are removed.
Can support different controllers on different buses.
Allows cloning of devices.
TODO:
Write support for MSCP tapes.
 1.12.4.2  21-Apr-2001  bouyer Sync with HEAD
 1.12.4.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.12.2.1  21-Jun-1999  thorpej Sync w/ -current.
 1.15.6.5  03-Jan-2003  thorpej Sync with HEAD.
 1.15.6.4  18-Oct-2002  nathanw Catch up to -current.
 1.15.6.3  01-Aug-2002  nathanw Catch up to -current.
 1.15.6.2  14-Nov-2001  nathanw Catch up to -current.
 1.15.6.1  21-Jun-2001  nathanw Catch up to -current.
 1.17.2.3  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.17.2.2  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.17.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.18.8.1  29-Aug-2002  gehenna catch up with -current.
 1.23.2.7  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.23.2.6  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.23.2.5  04-Feb-2005  skrll Sync with HEAD.
 1.23.2.4  02-Nov-2004  skrll Sync with HEAD.
 1.23.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.23.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.23.2.1  03-Aug-2004  skrll Sync with HEAD
 1.25.6.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.25.6.1  12-Feb-2005  yamt sync with head.
 1.25.4.1  29-Apr-2005  kent sync with -current
 1.28.2.3  27-Oct-2007  yamt sync with head.
 1.28.2.2  03-Sep-2007  yamt sync with head.
 1.28.2.1  21-Jun-2006  yamt sync with head.
 1.30.12.2  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.30.12.1  28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.30.10.1  19-Apr-2006  elad sync with head.
 1.30.8.1  01-Apr-2006  yamt sync with head.
 1.30.6.1  22-Apr-2006  simonb Sync with head.
 1.30.4.1  09-Sep-2006  rpaulo sync with head
 1.32.20.1  11-Jul-2007  mjf Sync with head.
 1.32.18.2  23-Oct-2007  ad Sync with head.
 1.32.18.1  27-May-2007  ad Sync with head.
 1.32.14.1  07-May-2007  yamt sync with head.
 1.33.12.1  25-Oct-2007  bouyer Sync with HEAD.
 1.33.8.1  06-Nov-2007  matt sync with HEAD
 1.33.6.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.34.16.2  17-Jan-2009  mjf Sync with HEAD.
 1.34.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.35.12.3  28-Apr-2009  skrll Sync with HEAD.
 1.35.12.2  03-Mar-2009  skrll Sync with HEAD.
 1.35.12.1  19-Jan-2009  skrll Sync with HEAD.
 1.35.4.2  16-May-2009  yamt sync with head
 1.35.4.1  04-May-2009  yamt sync with head.
 1.37.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.41.18.3  31-Mar-2013  riz Pull up following revision(s) (requested by martin in ticket #857):
sys/dev/mscp/mscp_subr.c: revision 1.45
Fix device_t split glitch
 1.41.18.2  12-Jul-2012  riz Pull up following revision(s) (requested by abs in ticket #410):
sys/dev/mscp/mscp.h: revision 1.9
sys/dev/mscp/mscp.c: revision 1.35
sys/dev/mscp/mscp_subr.c: revision 1.43
Adjust MSCP attach routines. The current code worked fine on simh-vax, but
unfortunately failed on at least one 'real' SCSI MSCP adaptor.
In the updated code
mscp_dorsp()
 1.41.18.1  04-Jul-2012  jdc Pull up revisions:
src/etc/etc.vax/MAKEDEV.conf revision 1.14
src/sys/arch/vax/conf/GENERIC revision 1.182
src/sys/arch/vax/conf/INSTALL revision 1.60
src/sys/arch/vax/conf/VAX780 revision 1.9
src/sys/arch/vax/conf/majors.vax revision 1.24
src/sys/arch/vax/vax/disksubr.c revision 1.53
src/sys/dev/DEVNAMES revision 1.275
src/sys/dev/mscp/files.mscp revision 1.8
src/sys/dev/mscp/mscp_disk.c revision 1.72
src/sys/dev/mscp/mscp_subr.c revision 1.42
src/distrib/vax/ramdisk/Makefile revision 1.29
(requested by abs in ticket #385).

- Add racd* devices for MSCP based CD-ROM drives (RRD40s), as opposed
to mixing them in with the ra* disks, modelled loosely on how MSCP
rx* floppies are handled
- racd* defaults to the same single iso9660 partition as cd*
- Cleanup config option handling slightly so any combination of ra*,
rx* (and now raccd*) can be defined without build errors.
- Avoid ugly printf when disks have all zero disklabel magic number

Include racd0 and racd1 on ramdisk
 1.41.12.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.41.12.1  30-Oct-2012  yamt sync with head
 1.43.2.4  03-Dec-2017  jdolecek update from HEAD
 1.43.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.43.2.2  23-Jun-2013  tls resync from head
 1.43.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.45.4.1  18-May-2014  rmind sync with head
 1.46.6.1  28-Aug-2017  skrll Sync with HEAD

RSS XML Feed