Commit Graph

9560 Commits

Author SHA1 Message Date
chuck 695a034ccd change mapdev to panic if size == 0 to be safe. 1996-01-13 03:11:18 +00:00
thorpej f08d96426e Oops. Fix RCS id. 1996-01-13 02:06:30 +00:00
thorpej e422ebca1a Add the "ahe" driver, autoconfiguration support for the aic7xxx-based
Adaptec 2[78]4x SCSI controllers, from Michael Graff <explorer@flame.org>.
Fixes PR #1594 from Noriyuki Soda <soda@sra.co.jp> in a different way.
1996-01-13 02:05:14 +00:00
briggs 46c929801f Move splimp to 2 and spltty to 1. 1996-01-13 01:41:05 +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
thorpej 8068d9eeb2 Handle cases like the following:
- controller calls scsi_done() with error XS_TIMEOUT
	- scsi_done() calls sddone()
	- sddone() calls disk_unbusy()
	- scsi_done() calls controller to retry command (missing the
	  call to disk_busy())
	- controller calls scsi_done()
	- scsi_done() calls sddone()
	- sddone() calls disk_busy(), which panics because of the imbalance.
Bug noticed by Leo Weppleman, who also suggested this fix; pass an additional
boolean argument ("complete") to the device's "done" routine, with a
value of `0' passed from the previous call to "done", and add an additional
call to "done" when the xfer resources are freed.
1996-01-12 22:43:26 +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
chuck c488310462 change mapdev() so that it includes the offset from the start of the
page in the virtual address it returns.
1996-01-12 21:22:46 +00:00
pk 59dd89e3b1 LUN deficient device: Tandberg 3600 (Ken Raeburn; PR#1933). 1996-01-12 11:32:37 +00:00
jonathan 04d66273af Remove the config.old sys/arch/pmax/dev/{scc.c,if_le.c}. The "new" config
equivalents (back-ported from NetBSD/alpha) are in sys/arch/pmax/tc, and/or
in sys/dev/tc.
1996-01-12 05:38:27 +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 4881a5d2a0 Remove explicit #define of DEBUG, per PR #1931. 1996-01-12 04:23:54 +00:00
briggs 46a202fc6a Fixes from PR #1931 w/ minor mod in vm_machdep.c 1996-01-12 04:16:25 +00:00
thorpej 48bb61e0d7 Use WTDBPRINT() instead of DEBUG() for driver debugging printf()s..
Fixes PR #1927, from Erik Bertelsen <erik@arhpc214.uni-c.dk>
1996-01-12 00:54:23 +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 f278cec042 Move bus_map() prototype here. 1996-01-11 21:55:57 +00:00
pk 9580abeba7 Should pass suitable arguments bus_map(); as noted by Chuck. 1996-01-11 21:54:03 +00:00
pk 7430f70694 Return `no error' after ejecting; per Jason. 1996-01-11 21:18:40 +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
pk 5035080586 Correct page frame calculation after mapdev() interface change. 1996-01-11 11:19:01 +00:00
jonathan d51b06e19a Add lots of debugging to the TurboChannel autoconfiguration code. 1996-01-11 05:59:23 +00:00
jonathan 28cf41d710 Change the order of members of struct confargs, to be closer to
the sys/dev/tcvar.h TurboChannel configuration structures. (the initializers
in sys/arch/pmax/tc were already changed; the structure definition wasn't,
which broke autoconfiguration.)
1996-01-11 05:57:04 +00:00
thorpej 5b51ec5cc8 Honor cache request and implement erase command, and add the SCSI tape
device configuration page.  Fixes PRs 807, 1201, and 1705.
From John Kohl <jtk@kolvir.blrc.ma.us>.
1996-01-11 03:36:34 +00:00
pk 94bb8db5ad Add shutdownhooks(). 1996-01-10 23:00:33 +00:00
thorpej 524cf97f54 Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch().  Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach.  My patch tested (and fixed :-) by
Herb Peyerl.
1996-01-10 20:54:29 +00:00
pk ba8a7101f0 Correct test for ECHONL (from der Mouse; PR#1922). 1996-01-10 20:52:27 +00:00
thorpej 2e1c1680c5 Fix declaration of hilqfree(), from Daniel Hagerty <hag@wizardz.com>,
PR #1918.
1996-01-10 20:31:12 +00:00
hpeyerl 5e81dcd27a Make it a tad more obvious that this is a 3c505 driver. 1996-01-10 18:21:52 +00:00
chuck 75caa8c729 Imported from OpenBSD/FreeBSD:
Add support for the SMC8416 (EtherEZ) ISA ethernet card.
	The 8416 has an 8K shared mem (the old driver assumed 16K
	and failed at attach time).
1996-01-10 16:49:22 +00:00
briggs 2a9c1229ec Add some more first guesses at some machines. 1996-01-09 15:26:53 +00:00
briggs 1b99515858 Add #defines for some more machines. 1996-01-09 15:26:02 +00:00
leo 485b90b6f1 Fix the same typo in all files. Yanking is soooo beautiful.... 1996-01-09 09:55:06 +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
mycroft 8ee41dc35a Make sure some registers are accessed in 16-bit mode. 1996-01-08 22:23:35 +00:00
mycroft 3441f118d5 Make sure we disk_busy() for every transfer we start. 1996-01-08 21:21:56 +00:00
mycroft d74e9d43ab Also reset %fs and %gs when delivering a signal. 1996-01-08 20:12:20 +00:00
mycroft 47e444bf50 Attempt to deal with wrap-around problems in 16-bit segments. 1996-01-08 19:11:00 +00:00
mycroft 7149c5ff14 VM86 support, by John Kohl, touched up a bit by me. 1996-01-08 13:51:30 +00:00
thorpej f1d8ca699f Oops, compile hpux_machdep.c if COMPAT_HPUX. Forgetfulness pointed
out by Dave Carrel.
1996-01-08 03:27:36 +00:00
leo 7ab5688547 Remove a stray MAXPARTITIONS definition. 1996-01-07 22:30:41 +00:00
leo 783817cc8b Part of the tostools reorganization. All directories now contain a Makefile
and the user interface to the various tools has been standarized.
1996-01-07 22:05:31 +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
leo 94bf233ae9 Atari partion table checker. Checks the validity of AHDI and/or NetBSD/Atari
partition tables. (Waldi Ravens)
1996-01-07 21:54:15 +00:00
leo b24ea33cac Common library for all tostools. (Waldi Ravens and myself) 1996-01-07 21:50:49 +00:00
mycroft 87a8c945ba Hand-code softintr() to deal with GCC braindamage. 1996-01-07 21:48:35 +00:00
mycroft ba1353b388 Stylistic changes. 1996-01-07 21:29:47 +00:00
leo 125fcfc979 These files can now be found in tostools. 1996-01-07 21:10:37 +00:00
leo aadb005f6a Reorganization of the stand-directory. All tools that are TOS specific and
can (probably) only be compiled under TOS are now being grouped in the
sub-directory 'tostools'.
1996-01-07 20:57:03 +00:00
christos 742cee29e5 Fix setcontext call and sendsig 1996-01-07 19:47:27 +00:00
jonathan 8472af018d Update a kludge from 4.4bsd/pmax: DECstation PROMs force the clock to
be in 1972 or 1973. If the clock is set to the actual time, the PROM
appears to reset the chip date to 1972 at each reboot.

Change the "year offset" from 22 years to 24 years (good till 1997)
until this code is replaced with something that uses the chip as a
seconds-since-beginning-of-year clock (encoded as a date, relative to
1972-01-01 00:00:00).
1996-01-07 15:38:44 +00:00
jonathan aadc0baf87 Add '/emul/ultrix' pathname processing to Ultrix emulation, and move
Ultrix syscalls that require that processing out of ultrix_misc.c
to ultrix_pathname.c.
1996-01-07 13:38:49 +00:00
mycroft 0b6a86dfe5 Make the block size always a whole number of samples. 1996-01-07 06:21:02 +00:00
mycroft 6761817ae6 Correct name of sysi86 function. 1996-01-07 06:09:43 +00:00
mycroft 0696821419 Deal with GCC's dead code elimination being suboptimal. 1996-01-07 03:59:28 +00:00
mycroft 41f463bf2c Modify splraise() to allow better optimization. 1996-01-07 02:40:44 +00:00
mycroft 946507cf4d Make cpl, ipending, and astpending volatile. 1996-01-07 02:08:28 +00:00
mycroft 3afeb8d6b0 Make sure interrupts are disabled before jumping to a resume point, to prevent
races.
1996-01-07 02:07:07 +00:00
mycroft f149f4f6f1 Make FPU faults use INTRFASTEXIT, and remove INTREXIT. 1996-01-07 02:04:31 +00:00
mycroft 9e6f4ae58a Remove unused macros. 1996-01-07 02:03:20 +00:00
mycroft 19914b6e10 Build the frame for recursive interrupts manually, and make sure to disable
interrupts to avoid races.
1996-01-07 02:02:28 +00:00
mycroft 7f6d0eaf9b Put #includes in the right order. 1996-01-07 02:00:31 +00:00
mycroft 96e91cd027 Don't save caller-saved registers. 1996-01-06 22:15:29 +00:00
leo 57a3b5b00c Keep more debugging history (Paul Goyette). Synced with mac68k version. 1996-01-06 20:17:15 +00:00
leo 356a61ab95 Add an nvram-driver. This driver makes it possible to read/write the
configuration info stored in the nvram on the mc146818.
1996-01-06 20:10:41 +00:00
ragge 0c5975cdd3 Changed to work correctly with both K&R and ANSI cpp. 1996-01-06 18:37:35 +00:00
ragge 2defb2f857 Much improved in_cksum, VAX dependency written by Bertram Barth. 1996-01-06 16:50:55 +00:00
ragge 782e22bb8b Device driver for TS11/TSV05 tape devices.
Written by Bertram Barth, based on TMSCP device driver.
1996-01-06 16:43:46 +00:00
briggs f5269d0ff6 Fix from Paul Goyette for off-by-one error. 1996-01-06 15:56:12 +00:00
thorpej d9bce7422e Move the obviously machine-dependent HP-UX compat code to hpux_machdep.{c,h}.
A fair bit of this, the m68k core dump and exec goo, can probably be
made into a generic m68k hpux module, eventually.

More to be placed in hpux_machdep.c - keep your eyes peeled...
1996-01-06 12:44:06 +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
scottb 382f551ca1 Added support for sysi86 and eaccess syscalls 1996-01-06 03:23:46 +00:00
pk dd9e5c93c7 Use {U,L} suffices per Charles' recommendation. 1996-01-05 18:10:57 +00:00
pk 3a7b2129f3 Implement vhangup(); more or less as suggested in PR#1560 (matthew green).
I'm vrele'ing s_ttyvp here too, so sys_exit() won't have to go over it
again.
1996-01-05 16:53:14 +00:00
pk 0548b8e5ad SCSI sense `info' field is a signed value (from John Kohl; PR#1597). 1996-01-05 16:03:35 +00:00
pk eb22b59e44 Pad `sccs[]' to make it 8 bytes long, to make it work on more architectures.
(PR#1690).
1996-01-05 15:06:45 +00:00
pk de0584fa25 Avoid zero blocksize (from David Huang; PR#1770). 1996-01-05 13:16:30 +00:00
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +00:00
jonathan 36817f8d02 Rewrite (a copy of) the emul-sunos termio/termios emulation code to
emulate Ultrix termio/termios instead. Ultrix termio c_cc has separate
VMIM/VTIME attributes, and the Ultrix termios c_cc is a strict
superset of Ultrix termio c_cc. The termios-only c_cc indices are
all changed, relative to SunOS.
1996-01-04 19:03:32 +00:00
jonathan 3b6b27f9d5 Commit trivial changes from Mach MK84 to force sup'ables source to be updated:
Drop spurious interrupts in asc_intr().   Read back the pending SCSI command
so asc_intr() can add it to the asc SCSI log.
1996-01-04 17:43:23 +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
jonathan ac604db4dd Add sigcode and esigcode to emul_ultrix, so that signal trampoline
code is set up for emul_ultrix processes.
1996-01-03 21:07:33 +00:00
jonathan 22a5271164 Remove pmax/tc/tc.h; use dev/tc/tcvar.h instead. 1996-01-03 20:47:19 +00:00
jonathan 659c4a2ece arch/pmax/tc -> dev/tc, pass 1:
Eliminate pmax/tc/tc.h. Use dev/tc headers for pmax port. Change pmax TC
autoconfig tables to use structs (mostly) compatible with dev/tc/tcvar.h.
Move TC console search to tc.c.
1996-01-03 20:39:10 +00:00
jonathan 1016f0c77a Add dev/tc/asc.c to files.pmax, until the merger of Alpha and pmax TC drivers
s completed.
1996-01-03 20:33:25 +00:00
thorpej 90964d13db Implement a suggestion from Charles; use a wrapper function before
leintr() to deal with das blinkenlights.  Also squishes the need
for LEINTR_UNIT.
1996-01-02 21:56:21 +00:00
thorpej efb493a4e0 Back out the rint/tint hook stuff, and remove need to LEINTR_UNIT. The
hp300 was the last to use it.
1996-01-02 21:51:56 +00:00
leo c8574c59f7 Allow selection of Falcon (videl) video modes other than the mode selected
on startup (Thomas Gerner).
1996-01-02 20:59:20 +00:00
thorpej 7e01b868cc It's safe to use <dev/ic/ncr5380*.h> now. 1996-01-01 22:51:26 +00:00
thorpej e9d1c5366d ncr5380sbc attribute is now defined in sys/conf/files. 1996-01-01 22:48:55 +00:00
thorpej 0e8ffc850f "si" and "sw" actually interrupt at level 3 (which I quickly discovered
when porting the driver).
1996-01-01 22:46:08 +00:00
thorpej 33582e90e0 "si" and "sw" now have the ncr5380sbc attribute. 1996-01-01 22:44:05 +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
thorpej 1b0b2de861 Define the ncr5380sbc attribute and compile dev/ic/ncr5380sbc.c if it's used. 1996-01-01 22:27:08 +00:00
thorpej 1bd3fee124 Switch to David Jones' new machine-independent NCR5380 driver. It's been
in use by the sun3 port for some time, and is now used by the sparc port.
1996-01-01 22:24:30 +00:00