Commit Graph

33 Commits

Author SHA1 Message Date
mhitch 7984f5ce3a The scsi command length was not being set in rz_command(), which caused
the SII driver to fail when trying to get the drive geometry.
Remove extraneous newline when printing out the disk geometry during device
probes.
1997-11-13 03:56:49 +00:00
jonathan c176a3646e Fix kernel divide-by-zero errors and other bugs with removable devices:
* Add code to query CDs for size, from MI scsi cd.c. Use it on CDs.
  * Set C partition size for CDs. 4.4bsd/pmax code only set `a' partition
    size and required users to mount `a' partition, breking raw-device
    access like "disklabel rz?".
  * Avoid possible divide-by-zero call to howmany() from rzstart(),
    on removable media that aren't ready at device-open time.

Verified to work on rrz42.
1997-11-09 03:08:23 +00:00
jonathan 1dfe80f178 Add MODE SENSE code from MI scsi sd.c to rz.c.
* add includes for sys/dev/scsipi headers.
 * cut-and-paste mode_sense and disk-geometry sense code from sd.c,
   with name changes sd -> rz.
 * Write `rz_command()' to send SCSI sense commands based on
   existing rz size-sensing code.
 * get geometry info with page 4 and page 5 mode sense.
 * use resulting geom info for default label, fake label, and when
   using ultrix labels. (ultrix labels have no geometry info).

Fixes incrrect-label bugs with using sysinst to install onto
Ultrix-labelled disks.
1997-11-08 11:28:10 +00:00
jonathan 2025270865 Fixes for sysinst and installing diskimage:
* Check for a disklabel matching the known values in an install diskimage.
   If found, update incore disklabel's RAW_PART  with the size reported
   by the disk, clobbering the size used by vnd(4).*
 * If geometry info is bogus or /missing, supply a fake geometry
   (as in sd.c).  Saves readdisklabel() and sysinst from divide-by-zero errors.
 * lint: RAWPART -> RAW_PART.
1997-10-26 10:47:14 +00:00
jonathan 75e6c24f72 Don't turn off RZF_WLABEL flag on last close of raw partition.
It breaks disklabel -W, turning label writes back off again when
disklabel -W closes its open fd on the raw disk.
1997-10-25 22:28:52 +00:00
mhitch 748703e737 Correct the check for a recovered error (I did it wrong the first time). 1997-08-17 16:51:21 +00:00
jonathan 11bfae37bb Update compiled-in default partition. Default root 32Mbytes, swap 64Mbytes.
(appropriate for ELF and growth in / since 4.4bsd/pmax).
Clip default-label partitions against the end of the disk to make installs
easier.
1997-06-25 11:00:32 +00:00
pk 6b976a7d46 rzsize(): call rzopen()/rzclose() if not yet open, per the
current `openmask'.
1997-06-18 22:19:13 +00:00
jonathan 3d2676b809 Garbage-collect '#include <machine/pte.h>'. 1997-06-16 23:52:06 +00:00
mhitch 4ccdbb1c9e Don't return error status on recoverable errors 1997-06-15 17:17:07 +00:00
thorpej 9fc5d41bb3 Garbage-collect an ... insane use of "GENERIC" (used to generate a
different "default in-core disklabel" with a larger b partition in
the event no disklabel was present on the disk).
1997-02-04 05:24:55 +00:00
thorpej 08dafb1339 Add a sick little hack to glue old-config-pmax-scsi-stuff into the
alldevs list.  This is required for the new machine-independent setroot().
1997-01-31 02:00:56 +00:00
jonathan 11a7f97c20 Use <> not "" #include path for pmax/stand/dec_boot.h. 1997-01-15 00:52:17 +00:00
christos d286889901 backout previous kprintf change 1996-10-13 03:39:27 +00:00
christos 19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
jonathan 3a51c3ecb0 Move old 4.4bsd/pmax driver declaration below prototypes of driver
entry points, for -Wall -Wstrict-prototypes.
1996-09-21 08:47:17 +00:00
thorpej eeaf8d15ef Remove the old-style disk instrumentation code. 1996-07-12 21:55:48 +00:00
mhitch 2c4f6b4b82 Don't modify rz_softc[] entries beyond what was configured.
Show proper inquiry data when version >= 1, not <= 1 (SCSI-2 devices
now display their inquiry infor).
Correct transfer length passed to dk_unbusy (b_resid hasn't been
updated yet).
1996-06-16 16:57:31 +00:00
jonathan 39917746c1 fixes for -Wall -Wmissing-prototypes:
Update the pmax SCSI drivers (rz and tz) to  use <machine/conf.h>.
    Fix the driver entry points to have the correct signatures -- add
    "ioflag" args to read() and write(), add "struct proc *p" arg to
     open and close.
    Stop using __BDEVSW_DUMP_OLD_TYPE, and update the rzdump and tzdump
    entry points to have the correct, MI signatures.

    NB: this is just syntactic sugar: both the caller and the dump entry
    points ignore the additional args, and do exactly what they did before.
    This must be fixed before using dump entry points in non-pmax drivers
    (e.g., the MI scsi code).
1996-04-10 16:33:44 +00:00
jonathan 61a27eb882 Fix old pmax scsi disk and tape (rz and tz) drivers to compile with
-Wall -Wmissing-prototypes:

Add prototypes.
Fix printf() format strings (%x vs pointer-arg, %x with a long int).
Fix a possibly-uninitialized shadowing local variable "resid" in tzdone().
include <sys/systm.h> to get prototypes for printf() and bcopy().
1996-04-07 22:46:29 +00:00
thorpej 5b39541e48 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.
1996-01-07 22:01:38 +00:00
jonathan d7b9b56e07 Rename the old pmax SCSI driver's "struct scsi_device" to
"struct pmax_scsi_device", to avoid name conflicts with the sys/dev/scsi
SCSI driver.
1995-09-13 19:35:53 +00:00
jonathan 23366c17ff Rename the old 4.4bsd/pmax old-style config "struct device" to
"struct pmax_device" to avoid conflict with <sys/device.h>.

Change the signature of interrupt-handlers to take a void *
(a pointer to the softc) and return an int (indicating spurious
interrupts or other conditions.)
1995-09-11 08:29:11 +00:00
jonathan 9aae39ad42 Partial rewrite of rz dump routine. Doesn't yet write to disk but
does everything else. No worse than returning ENXIO, as we used to.
1995-07-24 19:36:52 +00:00
jonathan 9c4be79d84 Clean up Ultrix compatiblity code: redo Ultrix label reading code
to have the same interface as native readdisklabel(), call it cleanly
from caller of readdisklabel(), and fix bug that left d_npartitions at 1
for ultrix-compat labels. Ultrix labels now actually work.
1995-07-14 01:05:22 +00:00
dean ec60b72f58 Put Ultrix disklabel compatability back in. 1994-12-08 18:33:19 +00:00
dean a056ea67c9 get disk and block size when opening device rather than probe time
(From Ralph Campbell)
1994-12-05 19:11:59 +00:00
dean 363152617f Ultrix compat stuff from Jonathan Stone. 1994-11-28 18:41:31 +00:00
cgd a63beafc2b new RCS ID format. 1994-10-26 21:08:38 +00:00
glass 04a3735652 remove temporary hacks now that the new filesystem stuff is in 1994-06-14 02:47:36 +00:00
glass 6b63c739f3 bsd 4.4-lite pmax port as ported to NetBSD 1994-05-27 08:57:32 +00:00
glass 377b097932 upgrade to bsd 4.4-lite code base. only mod is rcsids 1994-05-27 08:39:00 +00:00
deraadt fe806afec2 pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca> 1993-10-12 03:22:19 +00:00