Commit Graph

314 Commits

Author SHA1 Message Date
scottr
ed73ac3b48 New SCSI driver for Macintosh II family machines, implemented using
the MI 5380 driver.  It has been verified to work on the IIx, IIsi,
and IIci only, but should work with any Macintosh 5380-based SCSI
controller.

  -  This driver is _not_ intended to be a general purpose replacement
     for the `ncrscsi' driver.  It is an alternative for those having
     problems with that driver.
  -  Disconnect/reselect doesn't (yet) work, so don't expect SCSI tape
     or magneto-optical disk drives to function properly.
1996-02-10 23:28:41 +00:00
briggs
2a878c9a3a Move debugging defines, etc. into mac68k5380.c and use them instead of
something similar but different.  Make a few cosmetic changes.
1996-02-03 23:17:53 +00:00
briggs
5336dade8e Force the talley counters to be read when we get the interrupt. GCC was
nicely optimizing the reads out for us.  Kudos for this one go to
Steven R. Weiss <srw@hvcn.org>.
1996-02-02 15:30:56 +00:00
mycroft
88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
briggs
229c36d3dd Patch a few of the holes in the machine-dependent part of this driver.
Sync the m.i. part with the Atari.
1996-01-24 06:02:06 +00:00
briggs
0d6552d914 Fix typo in last change. 1996-01-13 14:03:38 +00:00
briggs
2a61903be4 Patch to at least recognise FOCUS EtherLAN. From Erik Bertelson
<erik@sockdev.uni-c.dk>
1996-01-12 04:52:58 +00:00
briggs
46a202fc6a Fixes from PR #1931 w/ minor mod in vm_machdep.c 1996-01-12 04:16:25 +00:00
briggs
39f642161a Keep two states for pdma debugging. Turn debugging back on. Sigh. 1996-01-11 15:25:53 +00:00
briggs
631612b677 Move splzs to spl4 from splhigh. Really same difference... 1996-01-11 15:23:01 +00:00
briggs
f5269d0ff6 Fix from Paul Goyette for off-by-one error. 1996-01-06 15:56:12 +00:00
briggs
682c4ec08f Bring in a few changes from Atari port.
Add support from Paul Goyette for keeping more than just the last 2
states when debugging.
1996-01-06 05:18:06 +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
briggs
486bcce207 Remove printf() that I forgot about. 1995-12-13 14:30:29 +00:00
briggs
405ac4248f Fix from Paul Goyette to disable linked commands on drives that
reject them for simple commands.  Leo W. reports that this does
not work for some systems.  It's better than what we have now,
though.  From Paul Goyette <paul@pgoyette.bdt.com>.
1995-12-13 03:48:07 +00:00
briggs
4b2a9a582d Update from Bill Studenmund <wrstuden@loki.stanford.edu> with some minor
cleanup from me.  Now supports serial console.
1995-12-13 03:09:57 +00:00
briggs
37b09a913d Double ring limits from Bill Studenmund <wrstuden@loki.stanford.edu>. 1995-12-13 03:08:12 +00:00
briggs
76b94759a1 Fix from Paul Goyette (paul@pgoyette.bdt.com) for drives that don't grok
linked commands.
1995-12-04 02:10:44 +00:00
briggs
1b03745209 cmdlen-2 is right for the last byte of the command. Ifdef out for right now,
though, as some devices apparently don't support linked commands and will
reject commands that have the link bit set in them.
1995-12-01 15:14:11 +00:00
briggs
d416ec2cc9 Put the link flag in the right place.
Pointed out by Paul@pgoyette.bdt.com (Paul Goyette).
1995-11-30 14:25:40 +00:00
briggs
f9ba6adcd7 Add rd_root.c from sun3. 1995-11-21 04:53:20 +00:00
briggs
9a1fb2674a Fixup error/debugging message. 1995-11-01 04:59:03 +00:00
briggs
c587e77144 Remove bogus assignment. 1995-11-01 04:58:21 +00:00
briggs
680ada5add port-mac/1707: mac68k mouse drag problems with Cmd+arrow keys
from Ken Nakata <kenn@remus.rutgers.edu>
1995-11-01 04:40:21 +00:00
briggs
8218c4005c Pull in all but one of Leo's changes from the atari copy. 1995-10-31 15:32:35 +00:00
briggs
f5fae9d016 Port of Sun3/Sparc zs driver from wrstuden@loki.stanford.edu
(Bill Studenmund).  Should be massaged into machine independence
for 1.2.
1995-10-09 12:42:16 +00:00
briggs
685b9057c2 Pick up changes from leo's latest version. 1995-10-08 17:25:19 +00:00
briggs
d510375b06 Change to allow nack_message() to take an argument and send
MSG_REJECT_MESSAGE instead of MSG_ABORT when we get an extended message.
This allows a DEC drive to work when it attempts to negotiate synch.
transfers on us.
1995-10-02 09:03:53 +00:00
briggs
0066d1a66f Finally get this right... Final fix from Paul Goyette paul@pgoyette.bdt.com 1995-10-01 05:10:20 +00:00
briggs
c1138ce68a Yet another error in the (next-to) last changes. 1995-09-30 21:34:54 +00:00
briggs
890baf19ea Fix stupid error in one of my last changes here. 1995-09-30 19:42:34 +00:00
briggs
232169396a Bullet-proof a little.
Make some more pdma code conditional on USE_PDMA.
Handle transfers of size > MIN_PHYS.
1995-09-27 03:38:57 +00:00
briggs
4d52f57876 Add Technology Works ethernet card. From
Kazunari Nakamura <kazu@nkk.co.jp>.
1995-09-24 14:13:56 +00:00
briggs
e23598f24f Much improved pdma transfers.
Still not nearly as fast as FWB's drivers under the MacOS.
Uses the "blind" transfer method instead of polled pdma.
1995-09-23 01:11:42 +00:00
briggs
4a9cf8407c Fix a warning. 1995-09-21 11:13:27 +00:00
briggs
fbd9919364 Fix warning and use __P for prototypes. 1995-09-21 03:36:25 +00:00
briggs
e8dbcda856 Do not define MIN_PHYS here--it is m.d.. 1995-09-18 13:52:43 +00:00
briggs
a106882a85 Only use PIO instead of PDMA if DRIVER_NOINT. 1995-09-16 18:22:33 +00:00
briggs
a8b0260a05 Sync. with atari ncr5380.c -- mainly whitespace changes. 1995-09-16 15:06:55 +00:00
briggs
4dc81200f5 Rename scsi_main_irq() to pdma_ready().
Missed a few ATNs in last patch.  (pointed out by Leo).
Raise timeout from 100 to 1000.  From Leo.
1995-09-16 11:45:18 +00:00
briggs
048e948791 As Leo pointed out, my last change was not safe. This one should be.
I added two new bitfields to ncr_softc.  They flag which devices have
been selected, and which ones have failed to go to message out when
selected with ATN.  If a target fails to go to message out the first
time it is selected, it goes into the latter bitfield.  If it fails
thereafter, we treat it as we did before.
1995-09-15 01:52:18 +00:00
briggs
1b34b69c93 Gah... The Asante SCSI/ethernet box doesn't answer the ATN request
for a 'MESSAGE OUT' phase, so add support in scsi_select() for the
phase to be either 'MESSAGE OUT' or 'COMMAND'.
1995-09-14 02:54:05 +00:00
briggs
d8dc3d91c0 Update for Leo's changes. 1995-09-12 22:31:45 +00:00
briggs
1ae7af5b59 Updates from Leo's changes in the atari port. 1995-09-12 21:20:18 +00:00
briggs
639f90ef6e Update from Leo's changes. 1995-09-12 21:05:58 +00:00
briggs
c91abc3e61 Remove infinite loop per Leo and Mycroft. 1995-09-05 11:21:34 +00:00
briggs
19a99aa395 Get softc as parameter in interrupt function, using new changes from
via.[ch]
1995-09-04 05:07:16 +00:00
briggs
02883e7341 Remove an extra "talk" command--from Ken Nakata <kenn@remus.rutgers.edu> 1995-09-04 02:50:57 +00:00
briggs
86d6e121cd Add support for Extended Apple Mouse Protocol from
Ken Nakata <kenn@remus.rutgers.edu>.
1995-09-03 20:59:53 +00:00
briggs
30c554fc9d Changes from Walter Ruetten <walter@ghpc8.ihf.rwth-aachen.de>.
This forces the need for booter version 1.8.
1995-09-03 14:37:16 +00:00
briggs
745cb60f16 Note that this is now an obsolete driver. 1995-09-03 03:39:38 +00:00
briggs
166af00381 Make a local copy of the atari m.i. scsi driver sources for the time
being.  Some people aren't supping arch/atari and this allows those
people to get the sources.
1995-09-03 03:36:35 +00:00
briggs
a7783604fd Optimize this some. Still seems slower than it ought to be.
Register interrupt functions with via.c.
Clean up somewhat.  Turn off DEBUG.
1995-09-02 19:29:42 +00:00
briggs
9f203a792f Weren't quite ready for the last change. 1995-09-02 05:41:12 +00:00
briggs
e60752e507 Rearrange a bit. 1995-09-02 05:35:59 +00:00
briggs
bee422d998 DTRT. This should be considered the base version of the file. 1995-09-02 03:19:37 +00:00
briggs
e46e8e7a57 A first pass at a scsi driver based on the Atari ncr5380{reg.h,.c} code. 1995-09-01 03:43:49 +00:00
briggs
503d3c4927 Add constants for CSI's communications card. 1995-08-25 21:20:57 +00:00
briggs
1ed5c0babc Some code to support a vector passed in from booter 1.8. 1995-08-24 04:27:16 +00:00
briggs
ae51ffca30 Always fail when probed--until this driver works. 1995-08-14 03:55:28 +00:00
mycroft
80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
briggs
8f58d57321 Don't fake these values. 1995-08-11 17:48:19 +00:00
briggs
72d557cf87 The serial console works again (at least on the Q700). 1995-08-11 03:29:07 +00:00
briggs
d192d70a87 Note that we've been initialized. 1995-08-11 03:02:04 +00:00
briggs
100380f075 Do the serial console a bit better (still has problems). 1995-08-11 03:00:15 +00:00
briggs
81cc5998a1 Missing increment operator for if_opackets in last change. 1995-08-09 12:16:10 +00:00
briggs
70065c2ed5 Nuke int_video_start in favor of consistent use of mac68k_vidlog.
Don't find the internal video more than once.
Probe for internal video before nubus instead of after.
1995-08-04 02:55:06 +00:00
briggs
fb5e0a34bb Be consistent and use mac68k_vidlog instead of int_video_start. 1995-08-04 02:47:31 +00:00
briggs
fc8739097d Fix signed/unsigned gaff in last.
Bring up-to-date with latest rash of changes to if_ed.c.
1995-07-30 21:39:17 +00:00
briggs
ff5fa674dd Fix the internal video probe again. 1995-07-30 21:35:00 +00:00
briggs
139f62c079 Add support for Farallon from Brian Gaeke (brg@dgate.org). 1995-07-30 13:38:04 +00:00
briggs
cf0aca3cb4 Read the packet header count in bytes, not as a word--word reads return
invalid data on some cards (notably old Apple Ethernet NB and Farallon
cards at least).
1995-07-30 02:44:27 +00:00
briggs
a2f49ac930 Don't show up in "slot" 0xe.\n 1995-07-28 01:34:58 +00:00
cgd
ffe4785a58 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:33:32 +00:00
briggs
c5724ea3a3 Some more bugs fixed and functionality corrected by:
"Paul R. Goyette" <paul@pgoyette.bdt.com>.
Implemeted the Set Scrolling Region, Set Tab Stop, and Clear All
Tab Stops functions.
1995-07-17 01:24:34 +00:00
briggs
30c70a7c59 patch to handle cursor moves better. From Paul Goyette
(Paul@pgoyette.bdt.com)
1995-07-09 15:36:41 +00:00
briggs
3758e23b79 Add another routine for the grf display-specific drivers to return a physical
address.
1995-07-06 17:13:45 +00:00
briggs
d1d1fbc094 Put in a cast to make compiler happy. 1995-07-06 04:17:15 +00:00
briggs
f3274364d4 Fix a bug I introduced earlier. 1995-07-06 00:28:32 +00:00
briggs
38031d912a First cut at a kludge for IIvx internal video. 1995-07-04 18:55:11 +00:00
briggs
2e4f1e0daa Update a bit. 1995-07-04 14:38:49 +00:00
briggs
2510a4f689 A few nits. 1995-07-04 14:38:34 +00:00
briggs
1040af3492 Add missing interface for getting a grfmode structure from kernel. 1995-07-02 05:26:27 +00:00
briggs
ed434b457d Fix grfmap() as well as grfmmap(). 1995-07-02 00:49:52 +00:00
briggs
932a8fc9af Set and use new fboff element from grfmode structure. 1995-07-02 00:30:25 +00:00
briggs
3401cca400 Fix buglet that was missed when converting nubus to non pa==va mapping. 1995-07-01 23:40:38 +00:00
briggs
705e6bd12b Fix oversight. 1995-06-30 05:21:33 +00:00
briggs
29bb03860c Option key fix from Ken Nakata (kenn@remus.rutgers.edu). 1995-06-30 01:23:21 +00:00
cgd
2b71eae2c7 note that most of dev/ic's contents have changed names 1995-06-28 04:30:30 +00:00
briggs
b1598cdd1b Remove a compile warning. 1995-06-25 02:46:46 +00:00
briggs
7542473d6d Clean up I/O base settings a bit. 1995-06-21 03:03:13 +00:00
briggs
697011742c Add some debugging (conditional on DEBUG). Add a more correct probe for
internal video.  Clean up nubusprint() a bit.
1995-06-21 02:59:08 +00:00
briggs
e4ff96e47c Make NUBUS_BASE_TO_SLOT and reverse not depend on VA==PA for NuBus.
Add constant for DRSW_FARALLON.
1995-06-21 02:57:19 +00:00
briggs
6ff2537ad3 Make no assumptions about the absolute address of nubus cards. 1995-06-21 02:52:09 +00:00
briggs
cb00a78de3 Treat 0 as a failure case for ae_id_card() and take out
null-op check for a 0 addrlist in init.
1995-06-21 02:50:22 +00:00
briggs
f462aa095a Be a bit more careful on the probe... Make sure that the current slot's
addresses contain the int_video_start--or assume that internal video is
is "slot" 0xE.
1995-06-21 02:48:00 +00:00
briggs
d37674426a "Always compile before you commit." 1995-06-09 02:19:47 +00:00
briggs
90caf013ba In the interrupt routine, bail out if we've not been initialized, yet. 1995-06-08 12:52:02 +00:00
briggs
56b5c26854 Get rid of a printf() that got left behind in the probe. 1995-05-06 18:44:48 +00:00
briggs
331e2bd82b Add some code/defines to differentiate Asante and Interlan/Gator cards
correctly with the new nubus code.
1995-05-05 05:40:13 +00:00
briggs
59b4da2b39 Add new nubus handling that's much more robust.
Update via, if_ae, and grf accordingly.
Revamp grf.
1995-04-29 20:23:36 +00:00
briggs
a992a8136c Add some multicast byteorder-related changes from djh@mulga.cs.mu.OZ.AU. 1995-04-22 12:08:12 +00:00
briggs
5982b968a9 Enable nubus interrupts after registering. 1995-04-21 04:01:27 +00:00
briggs
6bc53a2398 Handle grf_softc in the config.new manner.
Should have been done long ago.
1995-04-21 03:44:13 +00:00
briggs
13efb6c197 First pass of KNFication. Needs more. 1995-04-21 02:47:35 +00:00
briggs
85025d789c Prototype iteopen correctly (oversight from a while back...). 1995-04-20 15:46:56 +00:00
briggs
a6ba5f8f7e Update to use softc better and handle mainbus being indirect. 1995-04-20 15:32:01 +00:00
briggs
4137a8ff57 Add itetty(). 1995-04-20 15:27:43 +00:00
briggs
a7f44caf1b Add a sertty() and update to use ser_softc instead of a bunch of arrays
everywhere.
1995-04-20 15:27:12 +00:00
briggs
bf68945da5 Define struct ae_ring which is necessary because BYTE_ORDER == BIG_ENDIAN,
but the card is in x86 byte order mode because NuBUS does the swap "for us"
on 16- and 32-bit transfers.  We should probably figure some way to use
the std struct ed_ring if/when all the 8390 drivers are all fully merged.
1995-04-19 04:46:06 +00:00
briggs
2b1a13ab2f Initialize totlen in ae_put. Thanks to chopps for pointing it out!
Also, switch back from using struct ed_ring to using struct ae_ring
because BYTE_ORDER == BIG_ENDIAN, but the card is in x86 byte order
mode because NuBUS does the swap "for us" on 16- and 32-bit transfers.
We should probably figure some way to use the std ed_ring if/when
all the 8390 drivers are all fully merged.
1995-04-19 04:43:36 +00:00
briggs
38cb076019 Get this working. Mainly, don't always round to word transfers on
receive.
1995-04-16 00:14:54 +00:00
briggs
f93fa3c440 Update interrupts to use (void *client_data) instead of (int unit) as
parameter to interrupt function.
1995-04-13 04:04:58 +00:00
briggs
c9e2e6e2a8 Update to use dev/ic/dp8390.h. Mostly from mycroft.
Still get extra data on either transmit or recieve, but want to
checkpoint this work.
1995-04-13 03:58:18 +00:00
briggs
2bc91b9c2c Almost working synch with if_ed.c. Much by mycroft. Fixups by me.
Inserts garbage characters--this driver isn't ready for use quite yet.
1995-04-12 15:01:14 +00:00
briggs
13dc6a7a07 Make nubus indirect. Duh. 1995-04-12 14:57:40 +00:00
briggs
09ba51f21e Fix typo from last changes. 1995-04-12 14:55:45 +00:00
mycroft
7114c30418 Use global 8530 defs. 1995-04-11 03:00:38 +00:00
mycroft
8f8bccf41f Switch grfmap and grfmmap. 1995-04-10 07:56:46 +00:00
briggs
c17558aa9b Fixup types of a few functions to match if.h structure. 1995-04-08 20:55:26 +00:00
briggs
7e4d7125a3 Back to previous version of the serial driver until we can figure out
why the new one gets a lot of overflows and doesn't work on the IIsi
or IIvx at all.
1995-04-08 13:20:52 +00:00
briggs
870235352d Print a diagnostic if we do hit the watchdog and recover w/o resetting. 1995-04-08 13:17:55 +00:00
briggs
9d7efb1fb0 Do iteon() and iteoff(). Right now, they just clear/draw the cursor and
clear the screen.  "We" should look at updating these further.
1995-03-26 15:52:21 +00:00
briggs
bc14b5cbcc Don't count video interrupts. 1995-03-25 22:28:30 +00:00
briggs
bb035dee62 KERNEL -> _KERNEL 1995-03-23 20:19:16 +00:00
briggs
24787aea0e Add macvideo_intr to handle video interrupts. Currently has behavior
that was previously in slot_noint().
1995-03-23 13:45:07 +00:00
briggs
129893572f Serious kludge around network timeouts. Network timeouts seem to be
caused by the VIA missing the ethernet slot interrupt.  If we get a
watchdog, try calling the via's nubus interrupt function.  If that
causes an interrupt, don't reset anything.  If it doesn't, use old
behavior (log timeout and reset).

Yuck.
1995-03-23 13:00:05 +00:00
briggs
50721bd46f Raise watchdog timer a tad. 1995-03-01 03:47:08 +00:00
mycroft
4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
briggs
347304eb41 Many changes and updates from Dave Leonard (d@fnarg.net.au) and
Brad Parker (brad@fcr.com).  I've been sitting on these for a while.
Notes from Dave:
  redocumented z8530 stuff.
  Added break ioctls and detection.
  Pass framing/parity errors to line discipline.
  Added TIOC[SG]FLAG.
  Attempt at bringing all chip ops together.
  deepended s/w fifos to match chip's.
1995-02-11 19:06:57 +00:00
briggs
7190ebb7e0 Set sc_link->openings.
Simplification of scsi_cmd from pc532 mods to this driver.
1995-02-01 13:50:42 +00:00
briggs
bc36ccab9a Update for scsi changes. Incl. xs->resid = 0 (thanks Phil).
Changes compile, but are not tested.
1995-01-15 06:27:54 +00:00
briggs
749ca327c9 Nuke Log in if_aereg.h and remove duplicate (and benign) sc->smem_size
assignment from Brad Parker (brad@fcr.com).
1994-12-04 19:40:14 +00:00
briggs
1c47e24828 Mac ROM Glue changes from grantham@tenon.com. 1994-12-03 23:33:55 +00:00
briggs
d703fa05aa At least somewhat functional ethernet driver from Brad Parker
(brad@fcr.com).  Requires changes to via.c which are coming with
other changes in a moment...
1994-12-03 23:30:45 +00:00
briggs
4e06addf8a Nuke DEBUG. 1994-12-03 23:26:25 +00:00
briggs
2bef12a661 Get rid of private delay(). 1994-12-03 14:17:20 +00:00
briggs
037951ec4f Remove private delay() and clean up some odd delay times that we were
using...
1994-12-03 14:16:58 +00:00
briggs
e054795fb3 "../scsi/*.h" -> <scsi/*.h> 1994-11-29 03:43:52 +00:00
briggs
81828a6a38 Boolean goof. (True) 1994-11-29 03:38:48 +00:00
briggs
492011ffd7 Modify the serial port initialization slightly so it works on the IIsi. 1994-11-03 16:15:27 +00:00
briggs
815a0b9aca Fix a buglet in computation of fbsize. Pointed out by monroe@cs.pdx.edu. 1994-10-30 13:34:31 +00:00
cgd
4fdae7a0ae new RCS ID format. 1994-10-26 08:45:48 +00:00
briggs
93b8f0f095 Change strategy slightly so that serial console is enabled if internal
console is not--regardless of the value of the boot-time flag.
Suggested by a question from bit@gnu.ai.mit.edu (jim howard - bit.map).
1994-09-30 00:52:44 +00:00
briggs
49e7735666 Actually implement serial boot (console) echo (minor change to ite.c).
Remove some old junk in ser.c and implement serial console and serial
boot echo (if serial console's enabled, clear echo).
1994-09-29 03:33:13 +00:00
briggs
24de5a9668 Nuke a CVS Log entry. Attribute introspection to Brad. 1994-09-12 21:56:36 +00:00
briggs
400d187c01 Remove need for "bounds.h." Brad can still use it if he wants ;-) 1994-09-12 03:54:05 +00:00
briggs
5432aef717 Fix a scrolling bug when we have more than 64k to scroll. 1994-09-12 03:38:30 +00:00
briggs
183f4c6128 Lots of cleanup. Add functions for serial console--just stubs for now.
Fix initialization (for good this time?).
Little things.
1994-08-05 01:27:58 +00:00
briggs
08d96f103f Nuke holdovers from old HP300 console code. Get rid of any reference
to serial_boot_echo stuff here.
1994-08-02 17:55:24 +00:00