Commit Graph

358 Commits

Author SHA1 Message Date
gwr f246430dba Nuke same-unit hack in match. 1997-10-17 21:49:07 +00:00
gwr 1ea958fad8 Move initialization code from xxattach to xx_init and call that
from both xxattach and xxopen instead of calling xxattach from
xxopen with faked up autoconfig args.  Fix warnings.
1997-10-17 03:47:52 +00:00
gwr f14029fcd6 Clean up the match function. 1997-10-17 03:44:49 +00:00
gwr 703ed32e6c Clean up cg2match() 1997-10-17 03:43:56 +00:00
gwr 98eb63d8f8 Add support for the Sun3/E "se" (Ethernet/SCSI) board.
Compiles, but NOT YET TESTED.
1997-10-17 03:39:44 +00:00
gwr 81f2d0b179 Move si_reset_adapter() from si.c into the bus-specific modules.
Support the Sun3/470 (sun3x).  Adapt to the new DVMA interface.
Set the si_xxx_options in the config file (easier for users).
1997-10-17 03:33:34 +00:00
gwr 5a1f692161 Sync. with the sun3x (mostly cosmetic changes). 1997-10-17 03:25:05 +00:00
gwr 38b2ba3e3f typo 1997-10-07 20:05:00 +00:00
gwr c9d8d6ae1d Use sizeof(struct ieob) instead of a sun3-specific macro,
so this driver will work on the sun3x as well.  (Works!)
1997-10-07 18:17:19 +00:00
gwr b298a0b98c fix warnings 1997-10-07 17:56:30 +00:00
gwr 076ab3f536 Tweak the console support a little (more like the sparc version). 1997-10-06 21:04:21 +00:00
gwr 210e726aba Use vm_offset_t to represent control space addresses, because
they are more like physical addresses in that you can not just
dereference a pointer to access the space.  (Also, if you use a
pointer type for such things, gdb will _try_ to deference it.)
1997-10-06 19:58:01 +00:00
gwr ede5144deb read regs in the right order 1997-10-05 21:00:12 +00:00
gwr 39bf0bf971 normalize include order 1997-10-05 20:59:02 +00:00
thorpej 3b4ad2b60e Copyright assigned to The NetBSD Foundation. 1997-10-05 18:15:51 +00:00
gwr 0ec1cda62f Move the call to cninit() up a level (easier to find). 1997-10-04 19:46:17 +00:00
bouyer 6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
fair 7a06252f07 %x -> 0x%x, fixes for PR#3757 1997-07-29 06:43:51 +00:00
jtk 9388f271a9 use locator defines in "locators.h" to index cf_loc[] 1997-07-17 02:12:50 +00:00
jeremy 63c23f2337 Add reference to DMA selection variable used in dev/ic/ncr53c9x.c and sample
code to enable it.  Currently commented out.
1997-06-27 02:07:32 +00:00
jeremy 335b7a2d00 Duplicate changes recently made to the SPARC version of this file:
Do not print warnings if selection of a target via DMA was interrupted
by another target.
1997-06-26 02:47:09 +00:00
thorpej cf016f61f4 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:56:28 +00:00
pk f9d3344f9c xysize(): only call xyopen()/xyclose() if not already open, per the
current `openmask'.
1997-06-18 20:47:00 +00:00
pk 4269e0eab1 xdsize(): only call xdopen()/xdclose() if not already open, per the
current `openmask'.
1997-06-18 20:45:03 +00:00
jeremy 4502541573 When turning off the drive motor, de-select the drive so the busy light
extinguishes.
1997-05-30 03:23:11 +00:00
jeremy fc60f1979e Prevent RAM disk hooks from compiling until sun3 md_root.c can support
ram disk images that are read in from the outside.
Sync with some old local changes.
1997-05-24 00:09:49 +00:00
gwr 589bdf49d5 si_intr: if our CSR indicates an interrupt, return 1. 1997-04-28 22:10:41 +00:00
gwr df35245ac0 Fix a bug where OBIO locators were not presented to the children.
Rename obio_alloc to obio_mapin; add comments, etc.  (like sun3x)
1997-04-28 22:02:43 +00:00
gwr 388bf0e0e0 Rename obio_alloc/obio_mapin and check for obio in match functions
for attachments that will use obio_mapin.
1997-04-28 21:59:19 +00:00
gwr a5efc65699 Sync. up with the sun3x version. 1997-04-28 21:55:59 +00:00
gwr 479d3fa66d No longer needs an early init call (just normal autoconfig). 1997-04-28 21:51:49 +00:00
gwr e2ca51d2a1 Fixed OBIO locators bug, so this can do the normal thing now.
Also improved handling of spurious interrupts, and sync up with
the sparc version.
1997-04-25 18:55:05 +00:00
jeremy fa9f5b2448 Constants for the p4 register. 1997-04-09 04:50:43 +00:00
jeremy 3c962bb544 First working version. 1997-04-09 04:49:09 +00:00
gwr c3f299a527 Now using dev/ic/ncr53c9x.c 1997-03-20 16:01:36 +00:00
gwr 9f13c3afe5 Read the EEPROM once at attach time, then do user I/O on the copy.
Make /dev/eeprom support normal "read to EOF" behaviour.
Removed ee_console, ee_get_byte (dead code).
1997-03-18 23:31:59 +00:00
thorpej 1d987a161b #include <net/if_media.h> 1997-03-17 03:17:34 +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
gwr 4756c63625 Call isr_soft_request() at most once per zshard interrupt.
In the softintr, raise to spltty before calling tty code.
1997-03-11 21:54:35 +00:00
gwr d0a45ab470 Use the macros sc_if, sc_addr to avoid lots of references to sc_arpcom. 1997-03-10 21:45:01 +00:00
gwr 403bdb83fa Add xxc_print functions to pass to config_found() instead of NULL.
(Thanks to Chris Demetriou suggesting the improvement.)
1997-02-28 21:23:06 +00:00
gwr 1354ca2916 Get rid of some printf noise. 1997-02-28 17:17:22 +00:00
gwr 07b4e45308 Allow per-target control over disconnect/reselect. 1997-02-26 22:26:00 +00:00
gwr ae70fb71ec No need for dma_cd, so move it into the #if 0 section too. 1997-02-24 15:02:23 +00:00
jeremy ad9700fa62 Initial import from SPARC port. 1997-02-24 01:45:13 +00:00
gwr 7e74608bf9 Get the screen size right on the 3/260 (Fixes PR#2402) 1997-02-19 00:22:40 +00:00
gwr 443faad4e1 Reorganize/simplify the way the memory layout is done.
Update to the latest sys/dev/isa/if_ie.c (new ieget).
1997-02-13 20:48:36 +00:00
gwr 5997a69a3e Tune MXFRAMES and MXFRAMES down a little.
Reorganize the softc for convenience in ddb.
1997-02-13 20:43:18 +00:00
gwr 6a83772a4e Replace caddr_t with u_int in device structs.
Reduce MAXMCAST by a few to be safe.
1997-02-13 20:40:11 +00:00
gwr a4b09086fe Actually works now! 1997-02-12 01:07:56 +00:00
gwr f55c7652b7 Export zs_get_chan_addr() for zs_kgdb.c
Print the "console on ..." in cninit(), and
avoid reference to kbd/kd drivers if NKBD==0
1997-02-10 23:29:52 +00:00
gwr 196f91101a Make some more things static, and cosmetic stuff. 1997-02-10 23:26:21 +00:00
gwr 9f9e8281e0 Add zs_get_chan_addr(), zs_kgdb_init() 1997-02-10 23:24:18 +00:00
gwr a5b114c665 Forgot to initialize cn->cn_dev, cn->cn_pri 1997-02-10 19:11:12 +00:00
gwr d9267b93fd Forgot to initialize cs->cs_rr0_dcd and fiends in attach. 1997-01-31 00:07:06 +00:00
gwr 46cb437677 Nuke sunmon.h, add machdep.h 1997-01-27 21:57:44 +00:00
gwr ca8e9852d2 Use sunmon_abort() instead of mon_panic(), etc. 1997-01-27 20:50:36 +00:00
gwr 9b52402303 Use sunmon_abort() instead of mon_panic()
Let idprom_init() have void return.
1997-01-27 20:35:58 +00:00
gwr f8d04bcffb Update comment about si_obio_options 1997-01-27 19:54:06 +00:00
gwr 340699a2b1 Fix copyrights (/s/REGENTS/FOUNDATION/) 1997-01-27 19:40:46 +00:00
gwr dff67a76a8 Map regs using sizeof(struct lereg1) instead of OBIO_AMD_ETHER_SIZE.
Also fix copyright (s/REGENTS/FOUNDATION/)
1997-01-27 16:57:12 +00:00
gwr 090dfd13c2 Now that interrupts are enabled AFTER autoconfiguration, put in the
cute little trick where the zs interrupts are enabled as soon as the
zs driver has done its attachments.   That allows a console break to
enter the debugger during the rest of autoconfiguration.
1997-01-18 19:49:01 +00:00
gwr 84bd1d6f2c Use the same names (OBIO_ZS_*) as the sun3x port... 1997-01-18 19:17:28 +00:00
gwr 8ea480525d Use the same names (OBIO_ZS_*) as the sun3x port so we can share zs. 1997-01-18 17:19:52 +00:00
pk 3bbf01bfb7 rename: ramdisk => md 1996-12-28 23:53:10 +00:00
gwr 3cc81b9726 Add a diagnostic to panic when obio config data has a
default address, which is no longer supported on obio.
1996-12-17 21:21:13 +00:00
gwr 0c5e3e4955 Make this compile with -Werror -Wall -Wstrict-prototypes
(finally! yea!)  Also get rid of __BROKEN_INDIRECT_CONFIG
1996-12-17 21:10:35 +00:00
gwr 1169ecb0a2 Adapt to the new definition of struct zsc_softc
(the zsc_cs[2] members are now POINTERS!)
Also fix warnings...
1996-12-17 20:46:11 +00:00
gwr 31a2dbff56 No longer used. 1996-12-14 15:51:31 +00:00
gwr 5eaee56ccf Increase MAXMCAST from 50 to 250 (to match dev/ic/i82586.h). 1996-12-13 19:54:08 +00:00
gwr 5736d8f544 Kill some dead code. 1996-12-13 19:50:10 +00:00
gwr 0332502588 Most files that were copyright Adam Glass and/or Gordon W. Ross
are now copyright The NetBSD Foundation (rights assigned).
1996-11-20 18:56:49 +00:00
gwr 576fa146ac kill some outdated stuff 1996-11-19 20:58:32 +00:00
thorpej a0dffcafc2 Use bitmask_snprintf(). 1996-11-13 07:00:30 +00:00
gwr f9d54194d5 Allow the config line "flags" to set bits in si_options.
Thanks to Jason Thorpe for the fix! (PR#1929)
1996-10-30 00:31:39 +00:00
gwr 769fe0dfca Get rid of some cruft in the match function. 1996-10-30 00:24:32 +00:00
gwr aac9e275ac Add a "submatch" function to the obio bus driver so the children
of this driver can get rid of the cruft in their match functions.
1996-10-30 00:20:01 +00:00
gwr d6dfd783d9 Checkpoint new version of this driver with support for the "Type A"
variant of the CG4 (the one with the AMD colormap DACs).  This has
been tested only on the "Type B" H/W at this point (Brooktree DACs).
Thanks to Ezra Story and Scott Ellis for the "Type A" support.
1996-10-29 19:54:19 +00:00
gwr cb78378201 Fix typo (fbattach => fb_attach) 1996-10-29 19:27:37 +00:00
christos a087bfeb5c backout previous kprintf change 1996-10-13 03:47:25 +00:00
christos 19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
thorpej 401d011da6 Merge netbsd-1-2 branch back into mainline. 1996-10-09 00:14:32 +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
chuck c0bae2d189 sync with sparc version:
repair XDC_HWAIT macro to handle the fact that waithead is now
unsigned.   should fix xdc watchdog timeouts noted in port-sparc
by nathanw@mit.edu.
1996-08-12 20:28:54 +00:00
gwr bf7ab63c97 Move some of the DMA engine initialization from the "start" routine
to the "setup" routine.  Doing the initialization earlier prevents
nasty race conditions where the 5380 prefetch changes the counter.
1996-06-17 23:21:29 +00:00
gwr dc066b6a10 KGDB support 1996-06-17 15:40:36 +00:00
gwr 3274834c18 Use the PROM->input_source setting instead of EEPROM to determine
where the console is, because that is correct if, for example, you
boot with the diag/norm switch set for diagnostics and the EEPROM
is set for keyboard/display.
1996-06-17 15:17:06 +00:00
gwr 8ef4845dec merge 1.2 changes 1996-06-15 14:58:02 +00:00
gwr a0d3ad800b Add the version line. 1996-05-17 19:39:30 +00:00
gwr 50ecbc1c84 Rename cs_pclk_div16 to cs_brg_clk to clarify the fact that the
Baud Rate Generator (BRG) clock is not necessarily PCLK/16.
1996-05-17 19:32:06 +00:00
thorpej dedd4cceab Fix typo, noticed by Curt Sampson <curt@portal.ca>. 1996-05-09 21:15:47 +00:00
thorpej 69351e2be6 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:35:48 +00:00
thorpej 0584bf86a8 Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

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:32:31 +00:00
gwr 035d12359e Remove some hacks that "went around" the linesw[] operations. 1996-04-26 18:36:54 +00:00
christos 78403e6c0c Add a hardware dependent initialization function lehwinit() 1996-04-22 02:25:54 +00:00
cgd d7d306aeb7 change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
1996-04-18 00:25:11 +00:00
gwr d1ca7d4c47 minor cleanup 1996-04-07 05:47:26 +00:00
cgd 83f9bdc359 update for the fact that config_found() and config_rootfound() now
return pointers.  (Check vs. NULL, rather than just boolean tests.)
1996-04-04 06:25:00 +00:00
gwr a77bcc1072 replaced by if_levar.h 1996-03-26 23:17:13 +00:00
gwr f8a1588bfc This was carved up and reincarnated as si* 1996-03-26 22:08:24 +00:00
gwr 96918eaac2 obsolete 1996-03-26 22:05:53 +00:00
gwr 2e7e6c537d Use the traditional names (*reg.h, *var.h) 1996-03-26 22:04:14 +00:00
gwr 92d7925a57 No longer used. 1996-03-26 15:23:35 +00:00
gwr fa59facc05 New autoconfig design that controls attach order. 1996-03-26 15:15:46 +00:00
gwr e4b4200e43 Take advantage of the new config attach stuff by
splitting out the obio and vme support code.
Also move it back to the traditional name (si).
1996-03-26 15:01:10 +00:00
gwr 3d58330322 No longer need rd_match_hook. 1996-03-26 14:58:47 +00:00
gwr fa2d8c6e76 New driver for handling the memory error interrupt. 1996-03-26 14:57:43 +00:00
gwr 5ea3281a61 Adapt to redesigned autoconfig scheme for obio, and
define a fast ETHER_CMP routine for dev/ic/am7990.c
1996-03-26 14:42:18 +00:00
gwr 8eb8bb83b4 Take advantage of the new config attach stuff by
splitting out the obio and vme support code.
1996-03-26 14:38:29 +00:00
thorpej 3cd14f7597 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 02:00:30 +00:00
mycroft 1a55d915ae Don't call dvma_kvtopa() with a null pointer. 1996-03-08 06:17:35 +00:00
leo 6da2ce259c Allow for a machine dependent match function - rd_match_hook() 1996-03-07 10:25:28 +00:00
chuck 9f330ed6e0 Fix two bugs reported by Don Koch <aardvark@poirot.krl.com> (PR#2168).
(the xd bugs also apply to the xy driver...)
 [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:25:32 +00:00
chuck e4c86dc3f8 Fix two bugs reported by Don Koch <aardvark@poirot.krl.com> (PR#2168).
[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:22:50 +00:00
thorpej 2d885d15e9 Fixup an RCS id. 1996-02-28 20:54:50 +00:00
gwr 51815fdcd6 Kill a mis-matched and unnecessary declaration. 1996-02-28 01:48:48 +00:00
thorpej a246f6c835 Fixup some RCS ids. 1996-02-22 06:50:49 +00:00
gwr 3700dbe324 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 03:22:52 +00:00
chuck f63dd5fef2 sync with sparc version:
minor clean up: revise locations of disk_busy/disk_unbusy calls to match xd.c
1996-02-21 03:40:39 +00:00
gwr c59b002704 Sync. with sparc version, and fix some cosmetic nits... 1996-02-16 20:36:11 +00:00
gwr 9433112204 Have <sys/param.h> so no need for <sys/types.h> 1996-02-16 20:33:27 +00:00
gwr bcfac202c8 No longer need delay2us(), just use delay(2) 1996-02-16 18:00:33 +00:00
gwr 89c2f6dc04 now in sys/dev 1996-02-13 17:29:15 +00:00
gwr 9e07977e11 no longer useful 1996-02-13 17:27:41 +00:00
gwr 2e06ee143c Avoid 3/50 H/W bug (I hope) 1996-02-12 05:19:09 +00:00
chuck 718ac5d246 [import changes from sparc port]
- 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:42:57 +00:00
gwr f2e57c6dc8 Eliminate remaining direct references to the z8530 chip
to allow the MD access functions to do delays, etc.
1996-01-30 22:34:52 +00:00
gwr f261ae08c7 Update for the new z8530 driver 1996-01-24 22:39:48 +00:00
chuck 8f339409b7 sync with sparc:
- 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:50:05 +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 7e01b868cc It's safe to use <dev/ic/ncr5380*.h> now. 1996-01-01 22:51:26 +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
mycroft 9ca6a401eb Use the MI LANCE code. 1995-12-10 08:46:05 +00:00
gwr 5d5c8d0d4b Latest, greatest version of the new NCR driver.
DMA works!  Interrupts work!  Disconnect/reselect works!
To be paranoid, leave that all disabled for now...
1995-11-17 23:27:41 +00:00
gwr 6b20139b41 Add copyright 1995-11-17 23:24:56 +00:00
gwr 3dcdca7c52 Allow unit != 0 1995-11-10 21:59:30 +00:00
gwr b3a6cbaeb0 New from Chuck Cranor: drivers for SMD disks!
xd: Xylogics 753/7053 SMD disk controller
xy: Xylogics 450/451 SMD disk controller
These now compile, but have not been tested.
1995-10-30 20:58:04 +00:00
gwr 93d0f65970 New SCSI driver for the NCR5380, by David Jones.
Does DMA with interrupts.  Much faster than our old
driver which did only PIO transfers. (Thanks David!)
Could be used on the amiga, and probably others...
1995-10-29 21:19:06 +00:00
gwr f966527839 Work around the LANCE Rev. C bug in a way that does not cause error
messages when BPF puts the interface in to promiscuous mode.
1995-10-27 15:53:39 +00:00
gwr df737690d7 Remove (again) things accidently revived by cvs tag... 1995-10-13 19:37:06 +00:00
gwr 09cbbafa0a Minor cleanup. 1995-10-08 23:42:58 +00:00
gwr f5bcca1fab Machine-dependent part of the new RAM-disk driver.
This module lets one build a stand-alone kernel.
1995-10-08 23:42:42 +00:00
gwr 1b6586b2bb Note that this should be merged with dev/ic/i82586reg.h 1995-10-08 23:41:36 +00:00
gwr 13fa3c4fe6 Temporary hack to restrict open to root or the
same UID as the session attached to /dev/kd
1995-10-08 23:40:42 +00:00
gwr 3c868e07f9 New DVMA interface, and various cleanup. 1995-09-26 04:01:53 +00:00
gwr 2666f17777 SCSI bus phase not valid until REQ is true (Fix from David Jones). 1995-08-14 20:00:00 +00:00
mycroft 80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
gwr c96c328a9d Use old-style function definitions (like the sparc driver). 1995-08-08 20:54:08 +00:00