Commit Graph

138 Commits

Author SHA1 Message Date
matt c45b32243a Add a VAXANY type. Eventually to used in INSTALL / GENERIC to easily
include support for all VAX platforms
2001-05-16 05:36:53 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej 9b2337e9d8 splimp -> splbio. 2001-04-12 18:34:56 +00:00
ragge f860eda596 This file hasn't been in use for a long time. 2001-03-05 16:02:23 +00:00
mrg dc3c3a7bdd re-add. 2001-02-25 14:56:47 +00:00
mrg c4b3d490bb delete (again), then add (again) ? 2001-02-25 14:56:01 +00:00
mrg af19a7de64 try a `cvs ci -f' to make this appear on the trunk again. no changes. 2001-02-25 14:47:22 +00:00
ragge aa13a12702 Support to control the leds on VAXstations, taken from Sun3 and ported
to vax by Shinmyoh Koji (yesu@rb3.so-net.ne.jp).
2001-02-18 10:44:20 +00:00
ragge 2c1941b3eb Giant update from Michael Kukat (michael@unixiron.org).
Fixes support for:
                       MicroVAX 3100m90
                       MicroVAX 3100m95
                       VAX 4000/100 (tested)
                       VAX 4000/105A (tested)
                       VAX 4000/108
                       VAX 4000/400 (tested)
                       VAX 4000/500 (tested)
                       VAX 4000/600
2001-02-04 20:36:26 +00:00
ragge e4d9af4b42 A bunch of new CPUs that are supported, from Michael Kukat
(michael@unixiron.org). Among them are 4000/400, 4000/500 and 4000/105A.
2001-01-28 21:01:52 +00:00
ragge 8032849729 Rename dz_ibus to dz_vsbus. 2001-01-28 19:26:34 +00:00
matt c03997bb51 Make this compile again. 2000-12-30 20:11:54 +00:00
ragge cfcd7e9e98 Use lkkbd. Add hardware cursor support. Use wsfont fonts instead of the
old QDSS fonts (support not finished). KNF cleanup.
2000-12-02 17:14:00 +00:00
ragge 3321363123 Remove lkc, add lkkbd/lkms support. 2000-12-02 17:09:43 +00:00
chs 2116915a30 eliminate TRUNC_PAGE() and ROUND_PAGE() in favor of their
lowercase counterparts.  also, a little misc cleanup.
2000-11-21 05:49:07 +00:00
matt b605c997e2 Commit changes to SCSI working on the VS4000/9x. "Don't overthink the
plumbing!  Duh!".
2000-11-16 19:25:40 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
ragge de4982c7fa Fix bug that prevented DMA to work on SCSI chain B. This fixes PR#11124
but in a different way than suggested by the submitter.
2000-10-05 07:34:49 +00:00
thorpej 7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
chs e3b6ec1d77 remove extra paren so this compiles again. 2000-09-08 19:26:17 +00:00
matt 63466a9699 Un __P. 2000-07-26 21:50:48 +00:00
matt 8e9ff5814e More ELF changes (a.out still works). 2000-07-19 18:15:01 +00:00
matt f96915efa5 Changes so that the kernel can be compiled under __ELF__. 2000-07-17 02:54:04 +00:00
mrg 7e590c46fe remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:07:52 +00:00
ragge 2be09b4a84 Do 3 retries on a failing sector before giving up.
Clear pending interrupts before starting a DMA transfer. If an interrupt
occurs while the HDC9224 is doing DMA, the transfered data will be
scrambled (without giving any errors, quite bad).
2000-06-27 18:46:17 +00:00
mrg d726c1dfc5 remove redundant vm includes. 2000-06-27 09:09:51 +00:00
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
ragge bd66c9dafc Make the HDC9224 MFM device driver up-to-date; has been not-working
since NetBSD 1.2 (!) It also uses interrupts instead of polling now.
Also fix the DMA area locking between SCSI and MFM disks.
Still missing - floppy support.
2000-06-25 16:00:43 +00:00
matt 1293f1b88b Rename ncr[5380] device to si to more consistent with other ports.
Add VAX660 to cputype.h.  Remove needs-flag from si & asc entries.
2000-06-19 04:22:14 +00:00
matt 955a631ce4 We use opt_cputype.h now. 2000-06-18 22:47:19 +00:00
nisimura 4371d91433 Have MI ncr53c9x_attach() the 2nd and 3rd arguments for scsipi_adater
and scsipi_device respectively, with size reduction of ncr53c9x_softc.
Specifying NULL instructs the driver to use default adapter and default
device codes. Every target port has ncr53c9x_attach(sc, NULL, NULL) anyway.
2000-06-05 07:59:50 +00:00
matt 2f85fe7adb Adjust to new evcnt stuff. 2000-06-05 00:09:17 +00:00
matt 0bd304e528 More event counter stuff. Plus a little cruft cleanup while doing it. 2000-06-04 06:16:53 +00:00
matt 7c24069048 Add extra argument to scb_vecalloc (a struct evcnt *)
Move ivec_dsp from trap.h to scb.h
Add interrupt counting to asc, le, ze, ncr, dz interrupts.
add common support for counting interrupts to cnm_idisp so
it can be done very efficiently.
2000-06-04 02:19:24 +00:00
ragge aacf5a4bc1 Growel out the SCSI BUS ID from NVRAM instead of hard-code it. 2000-05-27 10:12:45 +00:00
ragge 4eea61af11 If we panic before the vsbus is found, don't panic again. 2000-05-26 21:05:01 +00:00
matt 83ae868133 Add some debug stuff. Disable SCSI on KA49 for now until I can figure out
why it doesn't work.
2000-05-23 23:47:28 +00:00
matt 2d153651e5 Preliminary support for the VS4000/90 SGMAP. Needed for SCSI. Does not
quite work right yet.
2000-05-17 21:22:18 +00:00
matt 1fe20bbb39 be a bit more defensive in the probe routines. only allow one attachment. 2000-04-24 21:59:22 +00:00
matt c10673838a Extend asc driver to include support for the VS400/9x.
Add VS4000/9x support vsbus_dma.c
2000-04-23 16:38:52 +00:00
matt 79a5b2164e Remove autconf stuff. not needed and wrong. 2000-04-18 21:25:31 +00:00
ragge a1413dca83 Fetch the SCSI ID out of NVRAM instead, if possible. 2000-04-17 20:36:23 +00:00
ragge d37dfad561 DEC have the internal SCSI controller as ID6, and CDROM as ID7. 2000-04-17 16:30:40 +00:00
matt 9434b7b19e Add fix for VS4000 SCSI hangs on disk writes. Add a VAX_BUS_DMA_SPILLPAGE
and use it in the asc_vsbus driver.
2000-04-10 03:49:56 +00:00
ragge fe43e9f08f Fix spelling error. 2000-03-31 18:40:58 +00:00
tsutsui 9100212ef0 Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
2000-03-25 15:27:54 +00:00
thorpej 7b918b4088 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.
2000-03-23 06:40:33 +00:00
mycroft 0af581a1a1 Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
2000-03-18 16:13:22 +00:00
matt 57032be837 disable scsi for ka49 until sgmap is adapted to it. 2000-03-09 02:02:12 +00:00
matt 082a04f053 don't enable sgmap on ka49 yet. 2000-03-08 23:50:51 +00:00