Commit Graph

553 Commits

Author SHA1 Message Date
briggs 79c7b2b3f4 Help this compile and get the nubus address into myaddr instead of
sc->sc_arpcom.ac_enaddr.
1997-03-18 00:34:31 +00:00
scottr 52348e9646 Some cards we identify as InterLAN cards do not seem to have the MAC
address in the configuration ROM.  For these, fall back to the old method
if we can't find the expected sResource record.
1997-03-17 20:26:01 +00:00
scottr 3c9709606d Clean up some missed pieces of the new ARP conversion. 1997-03-17 18:37:17 +00:00
briggs b315c448dc Flip around Takeshi Yanagisawa's name. Add back a physaccess() call that I was a bit hasty
in removing.
1997-03-17 13:11:24 +00:00
briggs 559613a9a7 *Blush* It's Denton, not Dennis, Gentry. 1997-03-17 12:26:52 +00:00
briggs e716e490a1 Make this compile again. XXX - save ethernet address in softc until multicast is supported. 1997-03-17 04:57:56 +00:00
briggs c20d7dc997 Integrate a couple of changes suggested by Scott Reynolds and Takeshi Yanagisawa. 1997-03-17 04:38:28 +00:00
is 530a88d144 On request from Allen Briggs, converted this to new ARP
system. Somebody should actually test if this compiles (and works) on
Mac68k... I only carefully checked cvs diff -u.
1997-03-16 13:41:14 +00:00
briggs 4b6b2bb9f8 SONIC driver--originally from pica. Much work done by Dennis Gentry and
Takeshi Yanagisawa to get it working.  Some minor hacking by me here and
there.
1997-03-15 20:26:35 +00:00
scottr 702735759b Defer enabling NuBus slot interrupts until all slots have been probed
and drivers attached.  This removes the need for the MAC68K_BROKEN_VIDEO
option.  From Allen Briggs.
1997-03-15 18:33:44 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
scottr 12098dae8a Add missing call to ae_nb_get_enaddr(), from <kei_sun@ba2.so-net.or.jp>.
Fixes PR 3312.
1997-03-10 17:55:15 +00:00
briggs a2173962b8 Copyright foo. 1997-03-05 15:19:18 +00:00
scottr fd81cf2b92 Correct offsets in the memory size probe; bus_space uses byte offsets. Fix suggested by
Ken Nakata.
1997-03-04 15:12:04 +00:00
scottr 421abedbfe Split bus-dependent autoconfig code from the driver. This allows for
the future addition of a Duo Dock front end.
1997-03-01 20:18:58 +00:00
scottr 42be6ebfa7 Fix prototype for espmatch() 1997-03-01 06:38:36 +00:00
scottr 215c0b896a Convert to generalized VIA interrupt registration 1997-02-28 15:50:50 +00:00
scottr 705c637874 Define aesetup() to return an int, so that the attach function can
determine whether there was an error (if so, we unmap the slot space
for this device).  Use this functionality to tell the attach function
that we couldn't clear the card's buffer.

Also in aesetup(), eliminate the bogus repetition of the error message
we print when the buffer clear actually fails.  Noticed by Hauke Fath.
1997-02-28 08:56:05 +00:00
scottr 0b3eb5f3f2 Remove duplicate <machine/bus.h> include that crept in. 1997-02-28 07:54:02 +00:00
scottr 17fdd597df Move the NuBus-specific watchdog function from if_ae.c to if_ae_nubus.c,
and allow the attach function to override the default watchdog.  Also,
do some minor cosmetic surgery (rename bus space tags/handles and some
KNFing I missed the first time around).
1997-02-28 07:52:44 +00:00
scottr 359101fb43 Convert to generalized VIA interrupt registration 1997-02-28 07:46:59 +00:00
briggs 868344972a mac68k-specific portion of m.i. ncr53c9x driver. 1997-02-27 14:06:25 +00:00
gwr 2de163471e Minimal changes to adapt to removal of NCR5380_PERMIT_RESELECT.
This driver should be updated to allow per-target control over
disconnect/reselect, but I will leave that to the port masters.
1997-02-26 22:29:08 +00:00
scottr a2a40938b1 Move bus-independent setup code back into if_ae.c; enable the use of
configuration flags.  For NuBus cards, attempt to find the MAC address
in the declaration ROM resources.
1997-02-25 06:36:04 +00:00
scottr f03ee128a3 Add support for the Kinetics EtherPort SE/30, from Ken Nakata. 1997-02-24 07:34:18 +00:00
scottr 965cffaf20 NUBUS_SLOT_TO_PADDR -> NUBUS_SLOT2PA 1997-02-24 06:20:04 +00:00
scottr 6b0774a865 Split out the NuBus attachment code, and convert to bus.h 1997-02-24 06:03:55 +00:00
scottr 9c91a181d6 Update copyright and license. 1997-02-24 05:47:33 +00:00
scottr db2ab09cf2 Add bus.h, in light of recent nubus_attach_args changes 1997-02-22 02:17:40 +00:00
scottr ec6725f267 Make this compile again; missed this file when fixing nubus.h errors. 1997-02-22 00:00:34 +00:00
scottr b1e5912330 We need bus.h now, due to recent nubus_attach_args change. 1997-02-20 00:23:25 +00:00
scottr c079123e89 Add a bus space tag field to nubus_attach_args 1997-02-19 06:21:49 +00:00
scottr f6f4cf1d40 Remove redundant info from bus_space_map() diagnostic in ascattach() 1997-02-13 19:55:48 +00:00
scottr 0f53b79607 #include <sys/systm.h> to bring in printf() prototype 1997-02-13 19:42:42 +00:00
scottr 603a2bd8f4 Add hsk and drq locators, which will be used only by SCSI devices. 1997-02-13 19:01:07 +00:00
scottr f5ac9d5deb Add a bus space tag field to obio_attach args, initialize it in
obio_search(), and use it in the ASC driver.  Thanks to Jason for
pointing this out.  Minor KNFing while I'm here.
1997-02-11 22:44:25 +00:00
scottr 78098d98dc Remove dependency on asc driver, using generic console bell callback
instead.  Bell parameters are now entirely self-contained, as they
are managed by ite-specific ioctl()'s.
1997-02-11 07:51:18 +00:00
scottr 77e960bf17 Complete revamp of Apple Sound Chip support. The ASC can now be accessed
as a real device whose registers and buffers are available through mmap(2),
which makes further development of the driver considerably less painful.
1997-02-11 07:47:36 +00:00
scottr d8deae5099 Convert to bus.h; this removes the need for the ASCBase global. 1997-02-03 17:36:00 +00:00
scottr 7c87e4e501 #ifdef out write hack, and fix possible uninitialized variable. 1997-01-20 04:27:49 +00:00
scottr e14ea342e3 Some changes to make ADB work when compiled with -O2:
- extdms_done is modified by things outside of our direct control;
    it needs to be declared `volatile'
  - CountADBs() fails when we call it the second time.  We can work
    around this by telling extdms_init() how many ADB devices we have,
    only calling CountADBs() once.
1997-01-13 07:01:23 +00:00
scottr 3753710f38 Fix typo in last: cf->cf_unit -> sc->dv.dv_unit 1997-01-07 07:40:46 +00:00
scottr 3afad659e2 Add basic support for a Duo dock SCSI controller, from Daishi Kato.
XXX - This could probably be improved if all docking hardware has a
NuBus declaration ROM that we can get to.  This should be investigated
further.
1997-01-05 10:01:42 +00:00
pk f750d179be rename: ramdisk => md 1996-12-28 23:42:33 +00:00
scottr e8b8d1b050 Clean up a few bogons+typos introduced in the removal of the broken indirect
config code.
1996-12-19 21:48:17 +00:00
scottr 94714822e7 Work around another gcc initialization warning. 1996-12-18 05:17:44 +00:00
scottr affc68cf0c Work around another bogus uninitialized warning, and fix a legitimate one.
Clearly mark the former.

XXX The bogus warnings show up with -O, but not -O2.  Unfortunately,
    NetBSD/mac68k can't (yet) use -O2.
1996-12-18 05:04:22 +00:00
scottr e70f884a92 Fix the potentially uninitialized variable in clear_screen() (correctly
pointed out by gcc -Wall).
1996-12-18 03:06:06 +00:00
scottr e330279eea Work around uninitialized variable warning 1996-12-18 02:54:43 +00:00
scottr 07bde0d4e7 Revamp mainbus and obio autoconfiguration, with some direction (and the
indirect bus code framework) from Jason Thorpe.  This allows us to dump
bus_scan() and bus_print(), and move bus_peek() and bus_mapin() to the
NuBus code (since they'll eventually go away, anyway).
1996-12-17 06:47:37 +00:00
scottr b96c3097ed Define struct nubus_attach_args 1996-12-17 03:56:11 +00:00
scottr 9b4055eb72 Convert all foo_match() functions to use a `struct cfdata *' for their
second argument.  The NuBus autoconfig code had to be reorganized as a
result of this, and looks much more like a directly-attached bus now.
These changes eliminate __BROKEN_INDIRECT_CONFIG.
1996-12-16 16:17:02 +00:00
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
scottr 1e3acdfc88 Kill the conspa variable, and use mac68k_vidphys instead. Where we used
to initialize conspa was invalid on non-040 machines, since we don't
know which MMU we're using on those, yet.  On the other hand, by the time
we get to check_video() on the 040 machines, the MMU has been disabled.
Compromise:  get the video PA in setmachdep() on the 040, and in
check_video() on the others.  (This is not optimal.  *sigh*)
1996-11-19 07:17:47 +00:00
briggs cca82e59db Remove scsi96 driver. 1996-11-15 14:16:42 +00:00
thorpej a0dffcafc2 Use bitmask_snprintf(). 1996-11-13 07:00:30 +00:00
scottr df8e1c8a09 VT220-related emulation additions:
- Add reset attribute sequences for bold, underline, and reverse
 - Add insert/delete line sequences
 - Recognize but ignore G0/G1 character set sequences

Performance:
 - Speed up clear_line() when clearing the entire line

Also, some stylistic changes for checking/setting scroll region bounds
and in putc_getpars().

These changes make the ITE work properly with the 1.2 termcap file.
1996-11-10 09:35:04 +00:00
briggs 51d658e787 Check to make sure that ASCBase is accessable before claiming that we
have an Apple Sound Chip.  Make sure that we have configured the device
before allowing accesses to ASC memory.  Among other things, this
prevents the 660AV and 840AV from getting a kernel bus error when trying
to beep on the console.
1996-11-09 17:26:26 +00:00
briggs bbd25d0c38 - Move offset for 2nd scsi controller (Q900/Q950/WGS95) to 0x402
instead of 0x400.
- Restructure interrupt handling for more performance--continue to
  read/write data as long as the device keeps us in a data xfer phase.
  There is still a lot of room for speed improvement here.  Perhaps it
  lies is speeding up the interrupt path in general?
1996-11-04 21:20:01 +00:00
briggs 7685e9d70b Improve reliability on my Q700, at least. Was getting the occasional
glitch--an extra byte on occasion.
1996-11-02 06:52:24 +00:00
briggs 20c7b48d76 macs with scsibase offset 0x10000 from iobase use a SCSI CLK of 16.5MHz
(off PrimeTime)--all others appear to use 25MHz.
1996-10-30 05:39:21 +00:00
briggs 50c2da8f27 Interrupt-driven, but slow, NCR 53c96 driver for the 040-based macs. Contains
some guesses for the machines that have two of these buggers (I don't have
such a machine).  This driver is a copy of the sparc/alpha esp with a
minimum of changes--after we get it performing a bit more respectably,
we should see about re-normalizing the sources.
1996-10-29 06:08:58 +00:00
scottr 289b73be85 Fix a raft of printf format strings and some declaration problems for
the case where we define DEBUG.  From Erik Bertelsen, closes PR 2871.
1996-10-21 05:42:23 +00:00
scottr dca6a7e025 Critical fix from Bill Studenmund: if CTS is deasserted and then
immediately reasserted before we get a chance to process the interrupt,
we can inadvertantly get stuck with zs_tx_stopped set.  Move the delta
detection to the hard zs interrupt handler; the softint handler
will notice that something has happened with CTS and restart the
transmitter if it's asserted.
1996-10-15 06:57:43 +00:00
christos ad67e04154 backout previous kprintf change 1996-10-13 16:50:51 +00:00
christos 40ecbf8e72 backout previous kprintf change 1996-10-13 03:21:13 +00:00
christos 06555645c2 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:24:36 +00:00
scottr 3cf197cef1 Somehow the last change got mangled. Do over. 1996-09-16 05:24:21 +00:00
scottr debc473329 - Add a ZS_CONSOLE_ABORT option to enable a serial console break to
force a drop to the system debugger.  WARNING:  this used to be the
  default behavior!  Modify custom kernel configs accordingly.
- Check for ZS_HWFLAG_CONABRT in zs_abort(), and don't abort if it's
  not set.
1996-09-16 04:32:28 +00:00
scottr 696dd783a4 Move check for ZS_HWFLAG_CONABRT to zs_abort(). 1996-09-16 04:19:26 +00:00
scottr a4b22a046a Implement poll(2). 1996-09-14 06:08:01 +00:00
scottr 19d545f1ae - Implement poll(2)
- Convert splhigh() -> spladb()
- Guard references to adb_evq_tail and adb_evq_len!
1996-09-14 06:01:12 +00:00
scottr 81543dc7c9 Implement poll(2). 1996-09-14 05:54:53 +00:00
scottr 4ddcca6bc8 Update prototypes to match Chris' cfprint_t change. Also, update comments
in autoconf.h to reflect the mainbus.c split.
1996-09-14 05:43:24 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
scottr 7dff0aa247 After servicing an interrupt, check to see that there's not another
one pending before we clear the interrupt flag.  This avoids a condition
where the line appears to go catatonic (which is particularly easily
triggered by pppd).  From Bill Studenmund <wrstuden@loki.stanford.edu>.
XXX - we should probably log this if it gets excessive.
1996-08-26 14:09:19 +00:00
scottr 91d8e018e2 Attach ite semantics to the appropriate grf device, instead of obio. 1996-08-05 01:26:31 +00:00
scottr 89f4fddbfe Add a way to tell grf_establish() that internal video doesn't actually
occupy a slot.  This is necessary so that GRFIOCMAP can find the correct
physical address of the framebuffer.  Fixes P550, some LC models, and
perhaps the PB520.
1996-08-04 06:03:47 +00:00
briggs 9f01fc6ee4 Add a comment about the last change. 1996-06-23 15:02:58 +00:00
scottr 08a2715e38 Test for serial console in adb_init() early, and abort if we're using it.
Initiialize ROM vectors regardless of this so that the PRAM RTC read and
write work regardless of whether a serial console is in use.
1996-06-21 06:10:56 +00:00
scottr 6c3aabe226 Update some comments, and the copyright 1996-06-19 01:47:28 +00:00
scottr c72d612674 Deal with interrupt flags more carefully, and use the correct offset
for PB500-series SCSI I/O.  While I'm here, update the copyright.
1996-06-11 03:20:23 +00:00
briggs 9697ef6407 Add machine/viareg for prototype of via_set_modem(). 1996-06-09 04:27:59 +00:00
briggs 00c097a027 Changes from Bill Studenmund to support external clocks on the modem port. 1996-06-07 10:41:30 +00:00
briggs 0d0487a98b Wait longer (2.5 sec) in wait_req_true/false. Some targets take a long time. 1996-06-07 02:44:15 +00:00
briggs 5c13e7184b Fix a typo. 1996-06-07 01:45:43 +00:00
briggs 79309c78d8 Patches from Bill Studenmund to get serial default settings from the booter. 1996-06-07 00:15:24 +00:00
scottr 701205b00d Add tty_attach() as appropriate (for pstat -t) 1996-06-01 00:13:39 +00:00
scottr cac1b831e9 - Simplify writes in sbc_drq_intr().
- When finished writing, if the SCSI bus has BSY asserted, write another
  byte to the SBC to ensure we get an interrupt.
- Unflag SCSI interrupts on the VIA whenever we clear the interrupts
  on the SBC itself.
1996-05-29 14:26:33 +00:00
briggs 014b404127 Clean up the interrupt handling somewhat. 1996-05-25 16:42:24 +00:00
briggs 10221fc1cd Do not let getty open ite if it's not been initialized. 1996-05-25 00:56:38 +00:00
briggs 78560abd91 Change the console banner message. 1996-05-23 05:18:48 +00:00
briggs 2126c0d3c1 Fix from Bill Studenmund to set flags sanely on serial console. 1996-05-23 02:06:53 +00:00
briggs 534d58c701 Get rid of compiler warning if DBG_PID is not defined. 1996-05-22 17:16:45 +00:00
scottr d048582c60 New grf attachment code, mostly by Jason Thorpe with some cleanup by me.
This will allow dt and X to work with a generic kernel, rather than
compiling different kernels that attach grf0 to a NuBus adapter or
internal video.
1996-05-19 22:27:04 +00:00
briggs 2635a9c602 Serial driver with interface to a slightly modified version of the machine-
independent z8530 driver.  When that driver is updated, the local copy
of those files may be removed.  From Bill Studenmund.
Compiler warnings fixed by me.
1996-05-18 18:53:50 +00:00
briggs 1350f9fb7d print the failure if we do not correctly determine the amount of RAM
on the ethernet card.
1996-05-15 03:20:22 +00:00
scottr 5b680d94ba Make this compile if DEBUG is defined. 1996-05-08 15:14:53 +00:00
briggs 8321085213 Minor fix to last patch--from Taras. 1996-05-08 13:36:41 +00:00
briggs 2b2cd22c69 Minor update from Taras Ivanenko <ivanenko@ctpa03.mit.edu>. 1996-05-08 04:00:44 +00:00
scottr 99e86ac209 Remove some gross hacks that were added due to interrupt grossness that
has been partially fixed.  Also, add a new flag (which rearranges them
a bit, unfortunately) to use PDMA for polled transfers.
1996-05-08 03:44:56 +00:00
scottr 652b291390 - Rewrite scrollup(), scrolldown(), and clear_screen() to move/clear only
visible screen memory.  This results in a considerable performance win
  at all depths.
- Correct clear_screen() behavior when clearing to the top and bottom of
  screen; start at current cursor position, not current cursor row.
- Add local prototypes, and other KNF.
1996-05-07 15:52:19 +00:00
briggs 38b11e7c82 Get rid of some old, now meaningless macros. 1996-05-07 03:13:40 +00:00
briggs 8ed57c561e Clean up an error printf() and use proper macro. 1996-05-07 03:12:12 +00:00
thorpej 6de4db6bbc Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:08:15 +00:00
briggs af19dd53a3 This code has not been used in ages and there are at least 2 better 5380
drivers in the tree, now.
1996-05-06 22:34:09 +00:00
briggs 1d8ac2ad92 Update to something closer to the atari port. 1996-05-06 22:26:26 +00:00
briggs 314dd5b20b Set sc_slot--we need it later. 1996-05-06 03:27:20 +00:00
briggs 6026c5dfd7 Ooops. Remove debugging printf(). 1996-05-06 03:27:06 +00:00
briggs db495102be Do not depend on the nubus being mapped in one huge segment. 1996-05-06 01:08:24 +00:00
briggs 2c9ba25cc1 Fix typo in last. 1996-05-05 16:21:20 +00:00
briggs 30023f7acd MicroSpeed mouse support from Taras Ivanenko <ivanenko@ctpa03.mit.edu>.
Also some updates to actually used #defined constants instead of numeric
constants.
1996-05-05 14:33:55 +00:00
briggs 37163421a3 Prototype for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized
Also change the device probing scheme to use something a bit more rational.
A current side-effect is that nubus cards are double-mapped.  I expect
to fix that shortly.
Also change splclock() to block everything but serial hardware interrupts.
1996-05-05 06:15:56 +00:00
scottr b2af0c2297 Kill unused variables and fix prototypes. 1996-04-30 18:11:38 +00:00
scottr b50e8aab63 - Drop SCSI IRQ interrupts if we are already handling one. This works around
a condition that occurs with some slow SCSI devices when they disconnect
  (e.g. the AppleCD 600), generating spurious selection interrupts.
- Reorganize the debugging code slightly.
1996-04-30 17:07:17 +00:00
scottr eb335437e2 Ooops. ncr_sbcreg.h -> sbcreg.h 1996-04-25 23:47:06 +00:00
scottr aca6a2e6da Renamed these files. 1996-04-25 22:26:52 +00:00
scottr 95101e1310 Renamed these files. 1996-04-25 22:02:58 +00:00
scottr a0bca74134 Remove some now-useless code. 1996-04-25 21:18:04 +00:00
scottr 18fd76201e We don't need to enforce the MAX_DMA_SIZE limit in dma_alloc();
this is handled properly by sbc_drq_intr() already.
1996-04-25 14:40:26 +00:00
scottr 2e936aa8ff - Remove several hacks that didn't do much but waste cycles.
- Disable interrupt-driven PDMA when writing (use polled PDMA instead).
- Be more careful about when to flag a transfer as completed.

The result of these changes is that interrupt-driven PDMA works well
enough to bring the system up.
1996-04-25 06:18:41 +00:00
scottr 27c9c12e72 Clean up sbc_drq_intr() a bit; also, be more paranoid about size of transfer. 1996-04-23 14:20:28 +00:00
scottr 9d1cd5e9be Make this compile again; will need to deal with matchbyname() later, though. 1996-04-04 06:59:29 +00:00
briggs 1fa595a2f1 Clean up for higher warning level. 1996-04-01 01:35:48 +00:00
christos 933d138841 Change %r -> %: as for recursive printf's 1996-03-30 21:01:21 +00:00
briggs b39b4939fc Fix minor oversight in a sanity check--caught by Jason, I think, and reported
by Scott.
1996-03-29 02:12:41 +00:00
briggs 08126b5bec via.h -> machine/viareg.h. 1996-03-29 02:06:04 +00:00
briggs 2422f1bc4e Get rid of a compiler warning about Debugger(); 1996-03-24 16:58:46 +00:00
scottr 32a38f24e7 DEBUG -> SBC_DEBUG, and fix comment regarding sbc_options 1996-03-21 04:49:20 +00:00
scottr 0b59005d3d Fix a long-standing bug uncovered by the new device attachment
model.  Thanks to Jason Thorpe for the fix (fixed PR 2235).
1996-03-20 05:10:54 +00:00
thorpej 82d914d090 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:26:49 +00:00
briggs 1c817d1c3c Fix a typo in last. 1996-03-07 20:47:01 +00:00
leo 6da2ce259c Allow for a machine dependent match function - rd_match_hook() 1996-03-07 10:25:28 +00:00
briggs 7c44b1180f Disable SCSI linked commands, but allow kernel option to override. 1996-03-07 02:26:37 +00:00
briggs d504670861 Fix for serial console handling from Bill Studenmund. 1996-03-06 23:22:41 +00:00
scottr a7daa2d931 - Clean up DEBUG code.
- Setting the "monitor BSY" flag for polled PDMA is non-optimal.  The
  polled requests generate an interrupt that isn't serviced until the
  command has been cleared from the queue.
1996-02-22 14:31:26 +00:00
briggs ab3f741911 Update to latest Atari driver, but with some local modifications. 1996-02-19 02:51:03 +00:00
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