Commit Graph

451 Commits

Author SHA1 Message Date
chuck 9fee13d104 Fix two bugs reported by Don Koch <aardvark@poirot.krl.com> (PR#2169).
[1] check return value from malloc() for NULL before trying to bzero it.
 [2] use "=" rather than "|=" when writing to CSR (otherwise you may
	ACK something you don't mean to!).
1996-03-04 20:11:32 +00:00
thorpej f579d1a485 Fix an operator precedence botch. *sigh* This just hasn't been my week. 1996-03-01 07:44:43 +00:00
pk abd3cf4df2 Don't reset `xs->retries'. 1996-02-29 23:33:48 +00:00
thorpej 93dff23036 Back out the "don't use DMA if SCSI_POLL is set" saftey-net. The
MI 5380 code did something I didn't really expect, which caused DMA
to disable itself if only DMA was enabled.  *grumble*
1996-02-29 03:28:38 +00:00
pk 8bea3309c3 Fix typo 1996-02-28 22:09:27 +00:00
thorpej 50c8d6cdb0 Oops...missed to places where I could have used CPU type macros. 1996-02-28 20:53:02 +00:00
thorpej edf9d66f32 First-cut support for P4 framebuffers. Currently supports P4 variants
of bwtwo, cgfour, cgsix, and cgeight.  Includes support for attaching
the overlay plane of the cgfour and cgeight as a bwtwo instance (a'la
SunOS).

P4 register descriptions, cgfour driver, and cgeight driver partially
derived from OpenBSD.

This code may still need polishing.
1996-02-27 22:09:14 +00:00
pk 70eee90be3 remove a printf 1996-02-27 09:10:24 +00:00
pk 9216cf3276 Drain rev 1 chips in dma_reset(). 1996-02-27 00:36:11 +00:00
pk 2c646f8da5 `bwtworeg' is just about the same as the generic `fbcontrol'. 1996-02-27 00:32:34 +00:00
pk 6b5eb65b21 bt_reg => fbcontrol. 1996-02-27 00:14:17 +00:00
pk 8628f94179 Use `video enable' bit in framebuffer control. 1996-02-27 00:11:14 +00:00
pk 2fe54615fb Define a couple more framebuffer control bits. 1996-02-27 00:09:23 +00:00
pk 517988b940 Interims:
Comment out `STATINT' checking; this is apparently unreliable on some
ESP revisions.
Deal with target initiated synch re-negotiation.
1996-02-26 14:48:30 +00:00
pk a3ab0e81da Use CPU-type macros. 1996-02-25 22:03:20 +00:00
pk 3d182fe265 Use CPU-type macros 1996-02-25 21:53:49 +00:00
pk ba0eb7ea59 Use CPU-type macros. 1996-02-25 21:45:53 +00:00
thorpej 1a5d5e25c6 Add an "sw_options" patchable global so that folks can still live life
on the edge (of sw DMA uncertainty) with pre-built kernels.
1996-02-23 16:29:34 +00:00
thorpej ef3500b579 Attempt to work around a hardware bug that screws up DMA on the 4/100.
Apparently, some early 4/100 DMA controllers do illegal memory access on
large ( >= NBPG ) transfers at the end of the transfer.  This appears
as SI_CSR_DMA_BUS_ERR in the csr.  To work around this, we simply
transfer the (up to 3) missing bytes from the bpr.  We were doing this
anyway, so the work-around is to ignore the bus error.

BUT!  I goofed when I implemented the "left-over byte" code for the sw!
It *should* be correct now.  Keep metrics (acceeible via DDB) on the number
of 1, 2, and 3 byte clean-ups, as well as the number of "clean" transfers,
just so we can get a clearer picture.

Thanks to Andrew Gillham <gillham@whirlpool.com> for noticing this!
1996-02-23 07:24:45 +00:00
mycroft 291267e40c Implement SDEV_AUTOSAVE. 1996-02-22 23:35:04 +00:00
thorpej c86505a6a5 If we get a transfer with the SCSI_POLL flag set, don't use DVMA. We
only get these during autoconfiguration and during crash dumps.  During
autoconfiguration, the transfers are small enough that DVMA won't be used
anyway.  However, using DVMA during a crash dump can be dangerous,
depending on the nature of the panic, so we avoid it.
1996-02-22 07:25:05 +00:00
thorpej 2f132eb5e7 Bring in Gordon's fix from the sun3 port:
Correct the DMA transfer count when the target disconnects before
	the whole transfer is completed.  (Affects VME writes)
	Reselect now works on the VME si board!
1996-02-22 07:14:53 +00:00
thorpej a246f6c835 Fixup some RCS ids. 1996-02-22 06:50:49 +00:00
pk 66fedbbe19 Correct format in a printf(). 1996-02-21 10:21:14 +00:00
chuck adeed1d823 minor clean up: revise locations of disk_busy/disk_unbusy calls to match xd.c 1996-02-21 03:36:51 +00:00
pk b9de283ae6 Fix typo; pointed out by jtk. 1996-02-19 10:30:09 +00:00
thorpej a9012450ec Fix bug in bwtwounblank() ... didn't have code to enable video on sun4/200
obio framebuffer.  Noticed when my 4/260 dropped into DDB and the screen
didn't unblank.  Pull all of the video enable/disable into functions so
this mishap doesn't happen again.
1996-02-19 00:15:46 +00:00
pk 54bd5c6954 Fix ANSI prototype goof (from Openbsd).
Add explicit return type to most functions.
V3 PROM console support.
1996-02-13 22:49:48 +00:00
pk 3237aa23d2 Avoid compiler warning. 1996-02-12 21:05:18 +00:00
pk d5ddbf99ab Separate DMA and SCSI routines more. 1996-02-12 15:59:51 +00:00
thorpej 8a6ad45eed In fdcretry(), if we're not using implied seeks, set the state to DOSEEK
rather than SEEKCOMPLETE before retrying the operation.  If implied seeks
are being used, the state is set to DOIO (no change).  This is why I
couldn't reproduce the disk_unbusy() panic on my SS2; it uses implied
seeks.  Patch from John F. Woods <jfw@jfwhome.funhouse.com>
1996-02-10 18:37:36 +00:00
chuck 2accbfeefb - moved disk_busy() call from xdstrategy() to xdc_startbuf()
[prevents disk_unbusy panic when disk is loaded (if no
	free IOPBs, xdstrategy() would queue the buffer for pickup
	by xdcintr() but xdcintr() would never call disk_busy().
	xdc_startbuf() is a better place since all bufs are routed
	through here]   problem detected by girish@dworkin.wustl.edu,
	diagnosed and corrected by me.
- move disk_unbusy() call in xdc_remove_iorq() before the call to
	XDC_FREE() [don't want to access a data structure that was just put
	on a free list]
1996-02-08 04:40:33 +00:00
pk 52c068d6e6 Be sure to reset the chip when relection fails to prevent corrupting data. 1996-02-06 02:03:46 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
thorpej b97cbfb606 Implement DIOCLOCK. It's a no-op in this driver. 1996-01-30 18:31:05 +00:00
gwr 427556aeab Move struct definitions to MD code. 1996-01-24 19:52:57 +00:00
thorpej 353f4388fb Use a shutdownhook to make sure the drive motor is turned off
at halt/reboot time, as suggested by Perry Metzger.
1996-01-16 19:35:06 +00:00
thorpej 8a5504241e Three distinct changes:
- Better disklabel handling.  While a disklabel isn't used
	  in the driver, some versions of the OpenPROM insist on
	  one being present in order to boot from floppy.  These
	  changes provide a default label (in a way similar to how
	  the SCSI disk driver provides a default) so that a user
	  can more easily place the label on the disk.

	- Fix semi-bug in bootpath handling.  It appears as if the
	  bootpath can appear in a couple of formats: "/fd@0,0", which
	  is what bootpath_fake() creates on v0 proms and may be
	  passed by some v2 proms, and "/fd0" which is what the
	  v2 prom on my SS2 passes.  We now handle both formats.

	- Use a mountroot hook to eject the floppy and wait for
	  the user to insert a filesystem floppy if we're the boot/root
	  device.
1996-01-15 00:14:42 +00:00
chuck ef895a47d4 - call mapiodev() with sizeof(struct xyc) rather than ra_len (which is
zero since xycmatch no longer sets it).   [if you call mapiodev()
	with a zero size it will reuse the KVA it returns, swiping the device
	out from under you!]
 - make xyc->iopbase point in the kernels DVMA space rather than at the
	normal malloc'd KVA.   this isn't compatable with sun4m [doesn't
	have a kernel DVMA space] and will need to be changed later (XXX).
 - move disk_attach() to before reading the disk label as per Jason.
	otherwise we are reading into an unallocated buffer (oops!)
1996-01-13 03:42:40 +00:00
chuck ca80988399 - call mapiodev() with sizeof(struct xdc) rather than ra_len (which is
zero since xdcmatch no longer sets it).   [if you call mapiodev()
	with a zero size it will reuse the KVA it returns, swiping the device
	out from under you!]
 - make xdc->iopbase point in the kernels DVMA space rather than at the
	normal malloc'd KVA.   this isn't compatable with sun4m [doesn't
	have a kernel DVMA space] and will need to be changed later (XXX).
 - move disk_attach() to before reading the disk label as per Jason.
	otherwise we are reading into an unallocated buffer (oops!)
1996-01-13 03:35:53 +00:00
chuck dfbaa33f05 we handle all our mappings, so don't have obio.c do any for us
(i.e. don't set ra->ra_len in the match function).
1996-01-12 23:08:57 +00:00
chuck 3ef3001bec nuke uneeded variable in match function. 1996-01-12 23:06:23 +00:00
chuck 93cc1b33e1 we no longer need to add in the offset to the mapped VA to get the correct
device address (bus_tmp, bus_map, and mapiodev now do this for us).

also, we handle all our mappings, so don't have obio.c do any for us
(i.e. don't set ra->ra_len in xycmatch).
1996-01-12 22:45:04 +00:00
chuck d14b5cb80e we no longer need to add in the offset to the mapped VA to get the correct
device address (bus_tmp, bus_map, and mapiodev now do this for us).

also, we handle all our mappings, so don't have obio.c do any for us
(i.e. don't set ra->ra_len in xdcmatch).
1996-01-12 22:43:55 +00:00
chuck b5ddd8431d dmamatch never added in the offset for the dma registers to the VA,
and thus probed the wrong address on the 4/300 (but it worked because
it was probing the esp0 registers!).

now that bus_tmp() adds the offset in for us [as of obio 1.19] i
discoved that a byte access to the dma registers is not allowed.
so, i've change probeget to use a word access.
1996-01-12 22:03:39 +00:00
chuck afb262e8da improved handling of mapping of devices who's registers do not reside on
page boundaries:
 - change bus_tmp() to include the offset from the start of page in the
        returned KVA [rather than forcing each driver to add it back in
        individually]
 - changed bus_map() to include the offset from the start of page in the
        the returned value if a mapping is found in the PROM's KVA area
 - clarified a few comments
1996-01-12 21:44:16 +00:00
thorpej 43b4486bb3 Balance calls to disk_busy() and disk_unbusy() properly to avoid
dk_busy < 0 panics.  Count seeks.
1996-01-12 00:19:29 +00:00
pk 7430f70694 Return `no error' after ejecting; per Jason. 1996-01-11 21:18:40 +00:00
pk 5035080586 Correct page frame calculation after mapdev() interface change. 1996-01-11 11:19:01 +00:00
thorpej 926f925088 Re-arrange slightly the si_options special case for the `sw'. 1996-01-09 02:36:58 +00:00
thorpej 3cb556defb Disable DMA by default on the 4/100 `sw' controller. I've had a couple
of reports of data corruption, and would rather be slow and safe until
the DMA bug is fixed.
1996-01-09 02:06:50 +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
thorpej d35bd4bb23 Fix a typo that would bite if the interrupt level were wildcarded in the
kernel config file.
1996-01-04 00:20:19 +00:00
thorpej 6d6c652f18 New driver for the Sun SCSI-3 VME and 4/100-series SCSI "Weird" controllers,
utilizing David Jones' new MI NCR 5380 code.  Ported from the sun3 ncr_si.c
and "sw" DMA code written by me.

This driver contains user-configurable "options", which can be set via the
"flags" directive in the kernel configuration file.  By default, only
DMA is enabled.  DMA completion interrupts and reselection may be enabled
by setting the appropriate bits with "flags".  See si.c for details.

Note that DMA completion interrupts and reselection don't yet work on the
4/100 controller.  I don't know why, and it's unlikely that I'll have
the opportunity to find out any time soon.  DMA does work, and results
in a considerable performance increase.

DMA, DMA completion interrupts, and reslection all work on my 4/260 (VME)
system with modern SCSI-II disks.
1996-01-01 22:40:56 +00:00
mycroft 3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
pk 644c68a706 Towards machine independency, per cgd: macros to access hardware registers. 1995-12-18 23:58:31 +00:00
pk 0d1981416d Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
pk f840d96cfe Adapt to changed mapiodev() interface.
Use new DVMA routines.
1995-12-11 12:40:20 +00:00
pk 7987c7fce9 Use `def_width' and `def_height' as default values when getting rom properties. 1995-12-10 22:55:32 +00:00
mycroft 494a9b9eb9 Use the MI LANCE code. 1995-12-10 10:15:06 +00:00
pk 480398f38e dvma_malloc => malloc/dvma_mapin. (not the most elegant solution, but it'll
have to do for now).
1995-12-06 22:40:22 +00:00
pk 8a1606d530 Don't return `XS_DRIVER_STUFFUP' too easily; this can hose buffer cache
writes. Say XS_TIMEOUT in stead so the scsi code will retry.
1995-12-01 01:00:55 +00:00
pk ee08e9085b Extend the size of the "soft" FIFOs which reportedly reduces the number
of FIFO overflows on high baud rates.
However, doing so on all 4 ports would cost a whopping 64KB (at 4096 entries
per FIFO) of kernel memory. So, the FIFOs are now allocated at attach time
allowing the size for the keyboard and mouse ports to be reduced (to 128)
which should be adequate for the 1200 baud they use.
1995-11-29 23:41:31 +00:00
pk 12bfe2e68e Must change `u_long' to `u_int32_t' as Jason pointed out. 1995-11-29 22:03:53 +00:00
pk e9a919b88f Code from Jason to better configure /dev/fb. 1995-11-29 01:45:36 +00:00
pk ce474272f1 Prevent synch negotiation on ESP100 chips 1995-11-28 22:49:31 +00:00
pk 9bf3251e46 Lots of major and minor bug fixes and changes.
- properly do MSG_IN handshaking, so we can actually receive multi-byte msgs.
- do synch negotiation (now that the above works).
- handle disconnects.
There are a few trial-and-error bits at points where the docs I have are
particularly ambiguous about the state of chip and/or SCSI bus.

Things to do:
- more cleanup
- deal with MSG_OUT phase better
- keep some "config reg 3" bits per target (ie. FASTCLK and FASTSCSI).
1995-11-28 20:49:12 +00:00
pk def161af38 Careful with signed chars (caddr_t *!).
Merge in 1.1 changes.
1995-11-28 20:26:59 +00:00
pk c7d1d39b3e dk_device => device in controller structure (noted by Jason Thorpe). 1995-11-11 21:12:50 +00:00
pk 996526aa02 Make error recovery actually work, i.e. don't hang on SCSI bus resets
and re-synchronize before re-scheduling pending operations.
Things seem to be a fair bit stabler now.
1995-11-03 16:47:43 +00:00
pk bbdb422873 Stop DMA before resetting 1995-11-03 16:34:12 +00:00
pk c0a156c9fd Map pixels in VME32 space 1995-10-28 23:15:16 +00:00
pk e4fcc8ab5a Move DMA chip draining to dmaintr() and drain when a (possibly partial)
transfer ends in stead of doing it before starting a new transfer.
Use a different CSR bit to wait for "chip not busy" (may be necessary to
make this conditional on chip revision).
1995-10-24 16:26:54 +00:00
pk a3f2bf19e4 Various:
- make esp_poll() approximate the given timeout value.
	- introduce esp_abort(), and use it for timed out commands; make		  targets and driver less confused.
	- make {free,ready,nexus}-list management somewhat more coherent.
	- make sure we only proceed down the state machine in espintr()
	  if there really is an interrupt pending.
1995-10-24 16:03:57 +00:00
pk 7a9ddaff33 On-board bwtwo diddles a system enable register bit for video, per Jason
Thorpe (PR#1672).
1995-10-23 23:35:03 +00:00
pk c4dc969b09 Point `bootdv' at the disk device instead of the controller (from Jason Thorpe). 1995-10-09 22:33:07 +00:00
pk 53eb8f8175 RASTERCONS now works on sun4's too. 1995-10-09 15:39:34 +00:00
pk 1ad1d128e3 Fill in `ascent' values correctly. 1995-10-08 19:31:44 +00:00
pk 87a0c55d23 Patch from Jason to factor out a common framebuffer size determination
routine from the individual drivers.
1995-10-08 01:39:13 +00:00
pk aea329df61 rcons: rc_maxcol and rc_maxrow were swapped. 1995-10-05 13:16:57 +00:00
pk c8f10b184c Do not set `ra_len' in bwtwomatch(); we only need the pixels for CONSOLE,
but if so, we need the lot.
1995-10-05 00:33:23 +00:00
pk b79dc038d5 Machine dependent RASTERCONSOLE font definition to be passed to rcons_init(). 1995-10-05 00:02:54 +00:00
pk d19cacbb03 RCONSOLE => RASTERCONSOLE. 1995-10-04 23:35:13 +00:00
pk 32c023995c Bring reset logic into interrupt state machine. 1995-10-03 17:32:12 +00:00
pk fcc53878ca Make fbrcons_init() resistant against SUN4s. 1995-10-02 21:48:21 +00:00
pk cfbe993b9b Update to use <machine/cgtworeg.h> 1995-10-02 21:44:51 +00:00
pk 38d1101ad3 Silly me.. there's already a <machine/cgtworeg.h> 1995-10-02 21:44:22 +00:00
pk fb58a99a8f Fix some bogus calls to {read/write}disklabel(). 1995-10-02 21:04:45 +00:00
pk 82434458cc Get some of the bugs out. Thanks to David Gilbert for testing. 1995-10-02 09:07:03 +00:00
chuck b47de9fb69 new "xy" disk device driver from me.
the "xy" driver runs Xylogics 450/451 SMD disk controllers.
1995-09-25 20:35:14 +00:00
chuck 1779adf6be minor cleanups:
- don't let pcyl go unassigned if we have a non-sunos disklabel.
		if nothing else, guess pcyl = ncyl + acyl.
	- don't use bogus disklabel data if disk label is invalid
		(xdgetdisklabel() now returns if label was ok or not).
	- move xddriver decl. before start of actual code (cleanup).
1995-09-25 20:12:44 +00:00
chuck 2aff99a206 bug fix: xddummystrat() was clearing all but B_BUSY when it should
have been clearing just B_BUSY (s/B_BUSY/~B_BUSY/).    this
	fixes hard hang when reading disklabel when booting system.
minor clean up: added a few prototypes and only fool with bootpath
	if booting the system (in xdattach).
1995-09-25 16:02:09 +00:00
chuck 4408ec71bf init bad144 table before we actually try and read anything from the
disk, rather than init'ing after reading block 0 [in case we get an
error reading block zero].
1995-09-24 00:27:59 +00:00
pk 4025edc861 Make this compile again by calling readdisklabel() with a dummy strategy routine.
XXX - need some reorganization to this from xdopen().
1995-09-18 23:26:39 +00:00
pk c5bc107461 cgtwo framebuffer, cloned from cgthree.c and sun3's cg2.c.
Note: untested, shall be considered a framework to get things started..
1995-09-17 20:53:43 +00:00
pk c92d076f5b Change interface to th `fb' pseudo device to not need the major device
number (a la sun3).
Put in new glue for rcons.
1995-09-17 20:43:39 +00:00
pk db43cabe32 Re-instate configuration print routines, following Chris' suggestion.
Only prints something if there's no scsi bus to attach.
1995-09-14 20:38:53 +00:00
pk 9d7c17bfcb We have no need for `esp_print()'; the only child we expect is a `scsibus',
and there's nothing to say if it isn't there. Returning -1 is an error
anyway as noted by Chuck Cranor.
1995-09-11 19:41:21 +00:00
pk 0a5ab32e3d We have no need for `si_print()'; the only child we expect is a `scsibus',
and there's nothing to say if it isn't there.
1995-09-11 19:35:06 +00:00
pk bac2393fb0 Probe config registers correctly. 1995-09-06 12:35:38 +00:00
pk 003751356c Patches from Jason Thorpe to deal with 4/110 scsi (PR#1422). Also includes
bootpath glue (PR#1414) (this needs finishing off in disksubr.c).
1995-09-03 22:21:27 +00:00
pk a4e214aef0 If we're the console, say so in attach message. 1995-08-29 22:26:37 +00:00
pk a159e45699 Support for sun4 (from Jason Thorpe). 1995-08-29 22:20:01 +00:00
pk 15c28bc39a Sun4s must set baud rate on the mouse port (from Jason Thorpe). 1995-08-29 22:15:35 +00:00
pk 4bdcdaa4e3 define reserved bits in cfg2 & cfg3 registers correctly. 1995-08-29 20:05:22 +00:00
pk a3bb091c9e Do bootpath matching. 1995-08-18 22:03:59 +00:00
pk 7b7773a0c5 Use bootpath_store() to set next boot component; used in dk_establish()
to match `sd' devices against the PROM's boot path.

Detect DMA "overshoots" when handling odd-sized transfer sizes (e.g., xfers
from/to raw partitions), by using the "Transfer Pad" command when the
transfer count reaches zero.
1995-08-18 10:43:46 +00:00
pk ffbae23b6e Set `bootdv' if booted from the floppy drive. 1995-08-18 10:30:16 +00:00
pk f828a4b04c Add a debug flag.
Make `sc_dleft' a `ssize_t' since it's involved in a signed
comparison in esp.c.
1995-08-18 10:09:57 +00:00
pk 0596f75779 Use actual bus names (matches Chuck's bootpath code). 1995-08-18 08:20:26 +00:00
pk 42802ac2fa Drop si_minphys(). 1995-08-16 23:01:16 +00:00
pk ced95e1824 update from Chuck 1995-08-01 21:06:55 +00:00
cgd ffe4785a58 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:33:32 +00:00
brezak f8b400c446 Change DEBUG-->AUDIO_DEBUG. PR# port-sparc/1241 1995-07-19 19:50:16 +00:00
pk cdbe7b1bc5 Have esp_minphys limit transfers to MAXPHYS bytes. 1995-07-13 12:45:22 +00:00
pk 05daa72b3c Move SUN4 console echo hack cnget() (from Chuck Cranor). 1995-07-13 12:02:19 +00:00
pk 89cb640a97 si scsi driver, adapted from sun3 version by Jason Thorpe.
Note: re-arranged to use dev/ic/ncr5380* MI files.
1995-07-08 21:32:47 +00:00
pk 576bc844e5 Support KIOC_GETLAYOUT, so other than US keyboards can be dealt with better. 1995-07-06 05:35:34 +00:00
pk 12bdf1b787 KNFify a bit. 1995-07-05 19:55:02 +00:00
pk 9013a7a6e2 Add xxread/xxwrite. 1995-07-05 13:34:10 +00:00
cgd 2b71eae2c7 note that most of dev/ic's contents have changed names 1995-06-28 04:30:30 +00:00
pk c7df493055 SMD disk driver, from Chuck Cranor. 1995-06-26 23:06:57 +00:00
pk 47ce042b76 Small optimisation & 1 fewer depedency on zs_ctty. 1995-06-26 21:45:31 +00:00
pk 45eb69b276 Use ZS_DELAY() in a few more places (from Gordon Ross, cf. sun3/dev/zs.c). 1995-06-26 21:32:51 +00:00
pk ad8e3ed225 Sync with net/if.h 1995-06-23 13:19:44 +00:00
pk c0c45bba22 Try to recover from multi-byte messages sent by a target for which we
get an "Illegal command" (why is this?) when we try to pull it in.
On detection of this condition, we reset the SCSI bus and simply stop asking
this target for an identify messages, for now.
1995-06-02 15:46:47 +00:00
pk 4770e5e7c5 Try to recover from multi-byte messages sent by a target for which we
get an "Illegal command" (why is this?) when we try to pull it in.
On detection of this condition, we reset the SCSI bus and simply stop asking
this target for an identify messages, for now.
1995-06-02 13:43:30 +00:00
pk 8066369f08 Deal with v.3 proms (sigh). 1995-06-01 14:36:17 +00:00
pk 06ffffda03 Propagate bootpaths 1995-05-27 08:12:51 +00:00
pk 92414dd1c7 Use a different method to discriminate a 82077 from a 82072 (from Chris Torek);
using the NE7CMD_VERSION command is too unreliable.
1995-05-20 20:03:37 +00:00
pk c3d5b45b6e Name fd register structures more appropriately. 1995-05-20 19:59:52 +00:00
pk ed9d5444a2 Really test # of status bytes. 1995-05-16 17:02:00 +00:00
pk e01c46144d Minimalist implementation of KIOC[SG]KEY. 1995-05-10 16:04:55 +00:00
pk 7d244351cf Add `evcnt' field. 1995-05-04 19:43:27 +00:00
pk 0c8be3a288 Make sure kbdopen() ships the keyboard reset cmd. 1995-05-02 07:56:42 +00:00
pk 1138c9d047 Handle KIOC[GS]LED ioctls; from Lon Willett. 1995-04-27 14:27:11 +00:00
pk 8d90aefeb0 New audio driver from Rolf Grossmann. 1995-04-25 20:05:32 +00:00
pk 6d68e2f26f Remove duplication of code from subr_autoconf.c 1995-04-25 19:59:49 +00:00
pk 700118da76 Stop-gap measure to prevent panic when select()ing on /dev/console. 1995-04-25 17:52:43 +00:00
pk 64f2d35a0f Do not report each pseudo-DMA overrun as a (soft) error.
Add a small heuristic to converge on an acceptable threshold value.
1995-04-25 14:44:44 +00:00
pk 87beda7b2a Implement zstty(). 1995-04-21 15:51:26 +00:00
pk 785f352260 Do a probe in fdmatch() to guard against dumb PROMs. 1995-04-13 20:24:36 +00:00
pk a98a7ab7f8 Use arp_ifinit(). 1995-04-12 08:47:21 +00:00
pk ee451261d8 iestart() returns nothing. 1995-04-11 09:18:09 +00:00
mycroft 369e66a776 Sync with the rest of the world. 1995-04-11 06:03:36 +00:00
mycroft e41d4f5e96 Undo accidental change. 1995-04-11 02:42:23 +00:00
mycroft 0c3bca646e Move CHAN_[AB] into here, and prefix with ZS_. 1995-04-11 02:38:16 +00:00
mycroft 2753eeb55e zsreg.h --> z8530.h 1995-04-11 02:30:53 +00:00
mycroft 9b0d3f54e8 Move this into a generic location. 1995-04-11 02:29:25 +00:00
mycroft 68c8c80929 kernel_pmap --> pmap_kernel() 1995-04-10 16:48:27 +00:00
mycroft 66845e73cc cn_tty is unneeded. 1995-04-10 10:23:49 +00:00
mycroft 795010b56c map --> mmap 1995-04-10 07:04:18 +00:00
mycroft d64b72d064 Fdclose --> fdclose 1995-04-10 07:01:31 +00:00
pk 2e1b0cc690 Adapt to if.h changes. 1995-04-09 12:36:22 +00:00
pk 8161907540 Add evcnt_attach(). 1995-04-07 19:46:13 +00:00
pk 03b9b4a4bb Add a CR. 1995-03-08 20:58:05 +00:00
pk 26cb5d939f Move SunOS audio_info compat to <compat/sunos/sunos_ioctl.c>. 1995-03-04 09:55:40 +00:00
pk 3edb6c02ff Rename audio*() functions to avoid conflicts with sys/dev/audio.c; this is an
emergency measure, driver needs to be converted to generic audio subsystem.
1995-03-02 20:37:46 +00:00
pk c897fc5127 Better 4/100 support. 1995-03-01 21:09:19 +00:00
pk e6e777cf5d Reorganize to use fast interrupt handler. 1995-02-22 21:37:15 +00:00
pk 6d511104e2 Pilot sun4c floppy driver based on i386 version;
- same limitations as isa/fd.c: just read/write
  - in need of a fast interrupt handler
1995-02-17 20:28:32 +00:00
pk cbbc1b0293 match/attach on sun4's obio bus, from Theo. 1995-02-17 09:47:36 +00:00
pk d6faa0bf9c Working "config generic" support; from Theo. 1995-02-16 21:42:50 +00:00
pk f6cd1eeea7 Integrate changes from Chuck Cranor for the Sun 4/100.
Support for multiple register banks on SBUS devices (based on patches
from Francis Dupont).
Highlights:
	romaux defines an array of register spaces.
	pay attention to `vactype'.
	quirks handling 4/100 idiosyncracies.
1995-02-01 12:37:21 +00:00
mycroft 5a7fac721d Handle incoming messages longer than 1 byte correctly. 1995-02-01 09:50:18 +00:00
pk b846c1f9cd TIOC[SC]DTR ioctls. 1995-01-29 18:56:01 +00:00
pk 6879dd4b85 Update based on i386 version; from Chuck Cranor. 1995-01-27 09:49:55 +00:00
mycroft 81b3059a98 ESP_ID -> ESP_SELID 1995-01-07 05:17:59 +00:00
mycroft bfbd328f85 Sort. 1995-01-07 05:17:15 +00:00
pk 2a22c853db Adapt to changed SCSI subsystem. 1995-01-02 20:21:01 +00:00
deraadt 07f33ae7d1 obio ie support by chuck and me 1994-12-16 22:01:09 +00:00
deraadt 651f7c8f29 open changed again 1994-12-16 22:00:23 +00:00
deraadt e88bd9f695 obio fixes from the two chucks! 1994-12-14 22:17:18 +00:00
deraadt 2717a8de7e TIOC[SG]FLAGS from matthew green 1994-12-06 00:01:39 +00:00
deraadt 12af703502 wait for ack from chip 1994-11-29 22:35:20 +00:00
deraadt 1eb4763766 debug code for dma hang 1994-11-27 00:08:34 +00:00
deraadt 41260b47ce i hate ttyX-ignore-cd, but leave it here for a while longer 1994-11-26 07:36:52 +00:00
deraadt 7289c28055 cnpollc function for DDB 1994-11-25 23:55:53 +00:00
deraadt 3a4ca432b2 no need to turn DMA off twice 1994-11-25 23:12:44 +00:00
deraadt e62b8b3fa2 choose {w,b}{copy,zero} automatically 1994-11-25 23:11:23 +00:00
deraadt 2a90e82894 wzero/wcopy moved to machdep.c 1994-11-25 23:10:47 +00:00
deraadt 58117a4011 ie cards coldstart with a parity error, reset it 1994-11-23 22:28:12 +00:00
deraadt 941871d6ab XXmatch change (and a few __P() as well) 1994-11-23 07:02:02 +00:00
deraadt d3408abf29 C error 1994-11-21 01:56:38 +00:00
deraadt 274a90762d copyright/Id cleanup 1994-11-20 20:51:32 +00:00
deraadt 4cd7c0f34e reset scsi bus at attach time 1994-11-05 09:35:54 +00:00
deraadt 0d4b376377 only print the vec if needed 1994-11-05 09:28:06 +00:00
pk edb1bc6eae Don't mess with device if it was opened while we napped. 1994-11-03 18:57:33 +00:00
deraadt 138a1d9e01 let busmatch print the level/vec 1994-11-02 23:16:28 +00:00
deraadt 48347d17d4 cleanup 1994-11-02 23:16:02 +00:00
deraadt 46f66f22e0 ioctl u_long cmd 1994-11-02 04:55:47 +00:00
deraadt e3b33c7c21 add wcopy/wzero, and ack VME using ldcontrob 1994-11-02 04:55:20 +00:00
deraadt bdcab43fb8 ioctl u_long cmd; and KNF 1994-11-02 04:54:19 +00:00
mycroft 1e951824c4 Clean up deleted files. 1994-10-30 18:43:27 +00:00
deraadt 89a7412206 KNF 1994-10-30 18:43:21 +00:00
deraadt 58f5cef745 repair a type 1994-10-28 16:50:59 +00:00
deraadt f3299b1470 obio/vme16 Intel Ethernet driver by Chuck Cranor. works on vme16. 1994-10-26 07:11:16 +00:00
deraadt 9773a7aa40 working vme16/32 support 1994-10-26 07:09:41 +00:00
deraadt 2fb5b874a1 sbus_establish() is sun4c/sun4m specific 1994-10-15 08:57:20 +00:00
deraadt 3ae3c206d7 mapiodev takes a bustype argument now 1994-10-15 05:48:47 +00:00
deraadt 425833d1b0 sun4/300 support works 1994-10-02 21:59:56 +00:00
deraadt 1be17e489e sbus/* --> dev/*
deal with multiple bus types (start of vme/obio support)
1994-09-17 23:57:27 +00:00
deraadt 152b1d19d4 obio bus driver, for dealing with devices on the sun4 motherboard. 1994-09-17 23:49:58 +00:00
deraadt 1340faab13 Replacement esp (NCR 53C9X + LSI DMA) scsi driver from Peter Galbavy. 1994-09-17 23:48:32 +00:00
deraadt 9670b47cb7 sun4: don't use openprom 1994-08-25 20:57:38 +00:00
deraadt 34c6caac77 first cut at sun4 on-board io bus 1994-08-24 09:16:46 +00:00
deraadt ad457d7aaf sun4 needs software delays for register accesses 1994-08-20 09:11:02 +00:00
deraadt bdf0a4caf3 fix for bug #403 from <grossman@informatik.tu-muenchen.de> 1994-08-13 08:53:38 +00:00
mycroft 341769b598 Clean up deleted files. 1994-07-21 22:06:05 +00:00
deraadt c772691a6a make X11R5 compile easier 1994-07-21 22:05:42 +00:00
deraadt 12c6ff514b need vm/vm.h 1994-07-04 21:37:20 +00:00
deraadt 7bb91385ad tmd2/rmd2 have bits which must be set to 1 1994-07-02 01:10:05 +00:00
deraadt c17a1b4ce3 sun4c -> SUN4C 1994-06-24 08:11:53 +00:00
pk 639b0ab102 cast to make compiler happy. 1994-05-27 08:49:13 +00:00
deraadt f79d935940 new from torek; now multiple drives will work 1994-05-27 02:38:15 +00:00
deraadt 66628ced32 t_stop has been erradicated 1994-05-19 06:53:07 +00:00
deraadt b0b840abb9 use ether_input 1994-05-17 17:27:06 +00:00
deraadt a0cc222313 TIOCSBRK/TIOCCBRK 1994-05-14 06:39:05 +00:00
deraadt 7c61a93844 new from 4.4-lite 1994-05-13 20:11:06 +00:00
deraadt 592a166c31 play nice with new tty code 1994-05-13 20:09:00 +00:00
deraadt 3e95b2b78d update from lite 1994-05-07 01:14:39 +00:00
deraadt 4929024bf5 timeout and ndflush casts 1994-05-05 09:53:37 +00:00
deraadt 614fc7ff46 space/tab garple 1994-05-05 07:53:04 +00:00
deraadt eb1a3c8561 stub fix 1994-04-22 13:19:13 +00:00
deraadt 76a7d3f63e my dumb bug of the week: keyboard repeat fritzed if you typed ^@
and repeated that character forever
1994-04-16 11:18:58 +00:00
deraadt 6c40e67ce7 darn, whoops 1994-04-13 11:01:58 +00:00
deraadt 45125992e7 support mmap() at 0x04000000; fb_size should be rounded up. 1994-04-12 07:46:13 +00:00
deraadt 44ce4e5eb0 small optimization 1994-04-10 21:02:23 +00:00
deraadt 05b47471a9 keyboard repeat code! 1994-04-09 22:29:21 +00:00
deraadt 887f77edc0 MULTICAST is standard now 1994-04-08 01:14:24 +00:00
pk 78ceee0372 DDB support 1994-03-23 10:43:20 +00:00
deraadt c0cf4434ea kbd is now a pseudo-device 1994-03-03 13:17:14 +00:00
deraadt afbbc16f69 fix rcsid 1994-03-03 12:22:04 +00:00
deraadt e592a9cb39 fix comment 1994-03-03 12:19:13 +00:00
deraadt 80cff20936 whoops 1994-02-27 19:49:11 +00:00
deraadt 5a99cb799e fake out KIOCLAYOUT 1994-02-27 09:09:50 +00:00
deraadt 59afe6ad54 ioctl takes a proc * 1994-02-14 09:37:11 +00:00
deraadt 833c2e1c78 ether_input() takes ether_type in net byte order now 1994-01-24 00:30:29 +00:00
deraadt 2dcf572fc2 fbio.h is in machine/ 1993-11-30 20:55:12 +00:00
deraadt a17ccec482 fbio.h is in machine/ 1993-11-29 06:14:55 +00:00
deraadt beab56ab90 new from torek:
add torek's comments to my DMA_DRAIN fix
1993-11-12 00:50:48 +00:00
deraadt c9f2e616f8 from torek:
new brooktree dac code
hacked cgthree code
new cgsix (ala GX) code
1993-11-11 03:36:48 +00:00
deraadt d9debd8a1b s/cntty/cn_tty/ 1993-11-10 15:06:41 +00:00
deraadt 80a1356c75 DELAY(1) after a DMA_DRAIN, to let the esp chip have a chance to
recover from the DMA.. seems to let my ss1+ work with the cache enabled.
+ also esp reset code from Torek.
1993-11-05 12:41:54 +00:00
deraadt 6548614b2e if_init goes away. 1993-11-05 10:51:50 +00:00
deraadt e8c24a667b sys/dev/scsi -> sys/arch/sparc/scsi. 1993-10-27 18:14:16 +00:00
deraadt 9b8b095ea1 fix typos 1993-10-13 03:27:52 +00:00
deraadt 2ab4b5e978 fixups for dynamic tty allocation:
cdevsw[]->d_ttys must be initialized
XXstop() functions must be callable from cdevsw[]->d_stop
the console tty is used before vm system is up, and must
allocate it's own clists..
1993-10-13 02:36:39 +00:00
deraadt a851f1b5f1 bwtwo.c, cgthree.c: sys-fbio.h -> machine/fbio.h
if_le.c: #ifdef MULTICAST some things, and do arp the old way
1993-10-11 02:45:49 +00:00
deraadt 2e78184935 cons.c, zs.c: tty->t_stop doesn't exist here. I think it goes through d_stop
automatically now, but have not checked.
	l_ioctl() has no last parameter 'p'
fb.c: move sys/fbio.h to machine/fbio.h
various: typecast parms for timeout() properly
zs.c: extra level of indir in cdevsw[]->d_ttys
1993-10-11 02:36:38 +00:00