Commit Graph

1150 Commits

Author SHA1 Message Date
cgd f5f5831829 make ISA bus match/attach and sub-device attachment machine-independent.
(remove that code from this file.)
1996-02-28 01:49:35 +00:00
scottr 5be12dbfc8 Move the speaker driver to 'new' config. (Closes PR 1361, from Rafal Boni) 1996-02-22 05:53:16 +00:00
mycroft f9596bfc43 Use the same timing hacks as in pccons for the keyboard. 1996-02-18 22:49:12 +00:00
thorpej d586688437 In fdcretry(), set the state to DOSEEK rather than SEEKCOMPLETE before
retrying the operation.  Fixes disk_unbusy() imbalance and really seems
like the right thing to do in case it was the seek that failed.  Takes
care of PR #1985.  Patch from John F. Woods <jfw@jfwhome.funhouse.com>
1996-02-10 18:31:13 +00:00
mycroft db070d4271 Enforce the hierarchy: imp > tty > net > bio, to cater to lame PC devices. 1996-02-09 02:26:00 +00:00
jtc 7eb02879b7 Simplify -I's in CFLAGS 1996-02-05 07:42:54 +00:00
mycroft b6f55847e5 Fix #includes. 1996-02-03 01:05:36 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +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
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
mycroft ba1353b388 Stylistic changes. 1996-01-07 21:29:47 +00:00
mycroft 0696821419 Deal with GCC's dead code elimination being suboptimal. 1996-01-07 03:59: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 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
perry 74e1e47aeb fixed my own pr 1758 -- the floppy drive motor was not being turned off
at halt time, especially if a floppy was mounted. Added a shutdown hook
to turn off the motor. Per a request by mycroft, the cookie from the hook
is saved in a new member I added to the fd_softc structure.
1995-12-28 15:48:57 +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
jtc 0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
mycroft e2baea19f3 Make sure vt_coldinit() is called before vt_coldmalloc(). 1995-11-26 21:01:16 +00:00
fvdl 051bb183e3 Same as in 1.1 branch. 1995-11-09 08:40:51 +00:00
mycroft 72805df917 Various changes from John Kohl and me:
Map kernel stacks only at unique addresses.
Use one TSS per process.
Add sysarch calls for modifying IOPL and the I/O permission bitmap.
Add a compacting GDT entry allocator, for TSS and LDT selectors.
Enable modifying %fs and %gs with PT_SETREGS.
Sanitize various bits of code.
1995-10-11 04:19:29 +00:00
mycroft 25f53a986f Add USERMODE() and KERNELMODE() macros, and use them. 1995-10-10 04:45:03 +00:00
mycroft 8096b83664 Eliminate soft segment descriptors; instead use a functional interface for
creating segment descriptors.  Add the duplicate system call gate used by
BSD/OS 2.0 executables.  Prototype setsegment() and setgate(), and fix a bogon
caught by this.
1995-10-09 06:34:11 +00:00
jtc 9ba33c87cc Update makefile to handle the fact that keycap.5 was moved out of man5
into this directory.
1995-10-08 21:59:43 +00:00
jtc df99cef0ac Patch from Frank van der Linden to allow kernels with pcvt but without
XCONSOLE to compile.  I've been told that this patch has been sent to
Helmuth.
1995-10-08 21:57:39 +00:00
jtc 95f29581c3 Remove files that have been removed from or renamed in the current pcvt sources 1995-10-07 23:25:09 +00:00
jtc be0a951c76 Update our Makefile.inc.
Remove various OS-specific Makefile.inc templates.
1995-10-07 21:51:42 +00:00
jtc d9789d4225 Overlay our pcvt with pcvt 3.32 sources. All of our fixes have been
incorporated into the master sources, so it is unnecessary to resolve
all the conflicts that would occur if we let CVS "merge" the versions.
1995-10-07 21:43:25 +00:00
jtc 68b7d2aca6 import pcvt 3.32 1995-10-07 21:11:27 +00:00
jtc 652374b8ca import pcvt 3.32 1995-10-07 21:10:55 +00:00
jtc 81c0777f62 import pcvt 3.32 1995-10-07 21:09:43 +00:00
mycroft f2d15e5b48 Remove unneeded input operands to fnsave(), fnstcw(), and fnstsw(). 1995-10-05 23:06:15 +00:00
mycroft 45dc3570ec Use ISA_IPL_TTY, to fix race conditions. 1995-10-05 22:06:47 +00:00
mycroft ec30c873ea Switch the AUX_ENABLE and AUX_DISABLE flags, per Mathias Engan. 1995-10-05 14:12:21 +00:00
jtc 864f186a4e Use MAN instead of MAN8 (although it doesn't matter here because vgaio
is neither built nor installed).
1995-09-16 15:52:38 +00:00
jtc 6e9c7ee5a8 Use MAN instead of MAN3 and MAN5 1995-09-16 15:49:40 +00:00
jtc ee21163cab moved up one level in directory structure 1995-09-16 15:47:27 +00:00
fvdl c08d930690 Get address of buffer right when returning from graphics mode. 1995-09-10 10:45:16 +00:00
fvdl 1b8c8d3906 Fix broken VT_WAITACTIVE ioctl (from pcvt 3.30, needed for Linux
svgalib binaries).
1995-09-04 22:33:21 +00:00
mycroft b8b9c4c9ff Make sure vt_coldinit() is always called before vt_coldmalloc().
Remove pcvt_kbd_raw.
1995-09-03 01:20:33 +00:00
fvdl 9fc36ab1a4 * Don't scroll by setting the CRT start address when in graphics mode, and
make sure to use the right buffer (fixed in the same way as pcvt 3.30)
* Maintain keyboard state locally per VT. This makes sense, enables switches
  between VTs with different kbd states, and aids Linux VT emulation.
1995-08-30 00:29:09 +00:00
fvdl a084a7d3dd Remove bogus check in ioctl(fd, VT_RELDISP, VT_FALSE). Needed for
Linux VT emul stuff. This fix was already applied in pcvt 3.30
1995-08-27 20:59:00 +00:00
mycroft e11b690b80 Require drives 2 and 3 to be explicitly configured. 1995-08-21 06:56:14 +00:00
mycroft c8e379015c Fix sysbeep() for the case of pitch == 0, and garbage collect a useless
variable.
1995-08-13 04:06:29 +00:00
mycroft 3ee59cd771 Fix oversight in previous change; spl*() must also block
software interrupts.
1995-08-09 01:47:37 +00:00
mycroft bc59b73733 Merge npxinit() into npxdna(), and remove duplicated code. 1995-08-06 19:48:58 +00:00
mycroft b725d8b30b Update the comment describing how this works. 1995-08-06 19:31:49 +00:00
mycroft ef504e724d Fix oversight in previous. 1995-08-06 18:05:22 +00:00
mycroft d730fead60 Eliminate direct uses of curproc in npxdna() and npxinit(). 1995-08-06 17:59:10 +00:00
mycroft a326c49adf Stop using cr0 to flag that the FPU has not been used. 1995-08-06 06:05:28 +00:00
mycroft ce7cc0c18a Move the `used fpu' flag into mdproc, so it can be referenced when a process
is swapped out.  Implement process_{read,write}_fpregs.
1995-08-06 05:32:59 +00:00
mycroft 7263209ce6 Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely.  Remove d_strategy from cdevsw to
force the abstraction barrier.
1995-07-04 07:15:28 +00:00
mycroft 9fbf4d6f47 Make hardware interrupts always block all software interrupts. 1995-07-04 07:09:53 +00:00
paulus f3285c2e0e Add call to pppintr in softnet. 1995-07-04 07:00:47 +00:00
cgd 2b71eae2c7 note that most of dev/ic's contents have changed names 1995-06-28 04:30:30 +00:00
cgd 59e990a56b check CMOS time against base time, for sanity. if CMOS time invalid,
warn user and user base time.  if base time < 1985, warn the user.
if base time 5 or more years different than clock time, warn user,
and if it's base time that's greater, use it.  (The latter case is
handy if one has a machine in which the CMOS battery is dead... I do.)
1995-06-26 10:14:05 +00:00
cgd c8858650b0 DEBUG -> FD_DEBUG, so this thing doesn't spew when used with options DEBUG 1995-06-26 05:47:40 +00:00
cgd dd3e2df4a7 make dump stubs consistent. fix other piece of code to compile
properly with DEBUG; used bogus variable.
1995-06-26 05:20:40 +00:00
jtc 611c2dbdc8 fix typo 1995-06-23 01:33:43 +00:00
cgd e58dfa2a1a make match/attach routines and cfdriver struct mi 1995-06-07 07:06:16 +00:00
mycroft bd99191320 IPL_IMP includes IPL_NET, IPL_BIO, and possibly IPL_TTY. 1995-06-04 08:32:24 +00:00
brezak cfe5401c83 Integrate patch from Lon Willett that is part of release 3.20 1995-06-02 02:48:41 +00:00
jtc f90f8d10aa Removing -DKERNEL, transition to _KERNEL has been completed 1995-05-16 22:24:17 +00:00
mycroft af7265051f The previous optimization only works for edge-triggered interrupts... 1995-05-08 18:00:20 +00:00
mycroft 524c9c7f2a Use nvram.h. 1995-05-05 22:28:17 +00:00
mycroft 8fc6a61adc Add definitions for NVRAM equipment byte. 1995-05-05 22:08:43 +00:00
cgd 2e0e8fc49d use the machine-independent definitions for the mc146818.
wrap the various uses of the chip (including the uses of the NVRAM on it)
around the new defintions, structures, and functions specified in the header.
1995-05-04 19:39:08 +00:00
cgd 7153343684 two cases to quiet the compiler. perhaps should be fixed differently. 1995-05-04 19:35:20 +00:00
mycroft 0175317fc3 If we decide to use IRQ 13, explicitly turn off CR0_NE to be sure. 1995-05-04 00:30:56 +00:00
mycroft 94f4346537 Update a comment to match that last change. 1995-05-04 00:20:40 +00:00
mycroft f0a42753e4 npxinit() should not be called during autoconfig now. Watch for this
condition.
1995-05-04 00:16:40 +00:00
mycroft e03a827a0a Move some comments from before npxsave1() to before npxsave(). 1995-05-04 00:00:25 +00:00
mycroft bfef4c14c5 Slight rearrangement, to make the TS handling easier to follow. 1995-05-03 23:09:37 +00:00
mycroft d23aebf3bb Fix pccnpollc(). 1995-05-03 20:46:32 +00:00
mycroft 6db4e1b58a By default, don't frob the ICU masks here. The software masking should
be sufficient.
1995-05-03 14:31:35 +00:00
mycroft e772f7c5ef Set PCB_USEDFPU. 1995-05-03 00:09:13 +00:00
mycroft e5d7ebde66 Update to match include files. 1995-05-01 11:07:40 +00:00
mycroft 87b25c7f5c Update to match include files. Eliminate _ucodesel, _udatasel, and IdlePTD. 1995-05-01 08:25:30 +00:00
mycroft 17a5f987ba Be more aggressive about lazy saving and initialization. 1995-05-01 04:47:43 +00:00
mycroft ca88acc618 Fix an oversight. 1995-04-22 01:25:41 +00:00
mycroft fb82503a03 Fix some outdated comments. 1995-04-22 00:58:19 +00:00
mycroft c78d8f5e0b Replace btl with testl. 1995-04-22 00:54:21 +00:00
mycroft 4cd20dfe0a Move some comments to more appropriate places. 1995-04-22 00:30:47 +00:00
mycroft b5eab728c1 Make this compile again. 1995-04-21 19:44:52 +00:00
mycroft 30e61f6c45 Make RB_KBD work again. 1995-04-21 07:56:40 +00:00
mycroft 8190c2e3e7 Clean up hole conversion functions a little. 1995-04-21 05:21:37 +00:00
mycroft d3672cc33f We need isa_machdep.h for now. 1995-04-21 05:10:02 +00:00
mycroft d3971b501d Remove relocation of Crtat from locore. 1995-04-21 04:51:30 +00:00
mycroft 943618dbe5 Fix thinko in previous commit. 1995-04-19 22:08:08 +00:00
mycroft 53d73c77a5 Garbage collect #includes. 1995-04-19 19:10:35 +00:00
mycroft aed68a1067 Implement pctty(). 1995-04-19 18:33:27 +00:00
mycroft b665ddf808 Implement pctty(). 1995-04-19 18:10:47 +00:00
cgd eb1375b9c2 fix my IPL level off-by-one. also, rename intr_disestablish to
isa_intr_disestablish like i meant to before.
1995-04-19 06:14:13 +00:00
mycroft 82120d943b Finish updating for new interrupt registration mechanism. 1995-04-18 02:25:18 +00:00
mycroft 8874fd61ca Update to match generic ISA changes. 1995-04-18 00:59:53 +00:00
cgd 8fe775c0de useless, as of the new sound drivers. 1995-04-17 15:29:06 +00:00
cgd cf1c3ea213 these belong in dev/isa; they're being moved there now. 1995-04-17 15:22:27 +00:00
cgd c0caf19aac oops; forgot to delete this with my ISA autoconfig changes earlier 1995-04-17 15:17:24 +00:00
cgd 8a640328ed clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration.  more work still needs to be done,
but it's getting better...
1995-04-17 12:06:30 +00:00
mycroft 1ae952ad0f Remove bogus return values from void functions. 1995-04-10 18:08:45 +00:00
mycroft e25c1817cf kernel_pmap --> pmap_kernel() 1995-04-10 13:08:28 +00:00
mycroft f8f99c94a1 Fdclose --> fdclose; no longer conflicts. 1995-04-10 04:18:14 +00:00
mycroft 9c41e0f2f2 Most of the console functions return void. 1995-04-10 01:07:16 +00:00
mycroft 374185caff Most of the console functions return void. 1995-04-10 01:01:40 +00:00
jtc 71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
mycroft ff6c206c3f Use void* rather than caddr_t in many places. 1995-03-25 00:00:53 +00:00
brezak 331f0252c6 Fix probing of slave devices and remove unneeded ffs()'s 1995-03-21 14:05:28 +00:00
brezak 8193ffc379 Add support for PAS 16 basic 1995-03-15 18:45:58 +00:00
glass af46d07f24 fix compilation error. don't bother checking for IRQ2 1995-03-15 16:43:09 +00:00
brezak 36fa07bde5 Fixes defect port-i386/860 from John Woods (jfw@jfwhome.funhouse.com) with
supplied patch. Kernel will not link with only ProAudio Spectrum driver
specified.
1995-03-14 18:43:19 +00:00
brezak f3226ad49e Fixes defect port-i386/864 from John Woods (jfw@jfwhome.funhouse.com) with
supplied patch. pas.c doesn't recognize ProAudio Spectrum 16 Basic card.
1995-03-14 18:41:36 +00:00
brezak 7ce1465911 Fix SB8 playback. From David Gluss <david@pure.com> 1995-03-13 14:37:12 +00:00
brezak 1c9582b63e Add IRQ 9 as a valid IRQ 1995-03-13 14:29:11 +00:00
brezak 83fffa3985 Cleanup for SB16 (From Jan Sparud) 1995-03-08 18:27:35 +00:00
mycroft 4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
brezak 63d3904bce Use irq directly not as a mask 1995-02-28 21:47:42 +00:00
brezak 559df5705c PSS driver; needs testing with config.new 1995-02-21 04:15:03 +00:00
brezak 39b8de8e12 Driver for Windows sound system; not extensively tested 1995-02-21 02:28:42 +00:00
brezak 32eec53a2d SoundBlaster driver for SB, SB16 and SBPRO 1995-02-21 02:28:06 +00:00
brezak a70ae7273c PAS driver; uses SB emulation for now 1995-02-21 02:27:18 +00:00
brezak 977594d1a9 Driver for ad1848 codec 1995-02-21 02:26:39 +00:00
mycroft 37a654295e Clean up deleted files. 1995-01-29 07:37:56 +00:00
mycroft 1e719386a7 Clean up deleted files. 1995-01-29 02:58:32 +00:00
cgd f11e7e33fe use chip headers in /dev/ic 1995-01-29 02:58:20 +00:00
mycroft c5d5ca8150 Don't check the control port at all; too unreliable. 1995-01-26 07:35:49 +00:00
mycroft 431ccddc77 Remove redundant assignments. 1995-01-26 06:35:42 +00:00
mycroft 133ff42fa2 Introduce a `npx_softc' to make this driver more normal. Some other minor
cleanup.
1995-01-26 06:14:14 +00:00
mycroft c0e2bd26f1 Initialize the new xmit state correctly. From Rafal Boni. 1995-01-26 04:13:23 +00:00
mycroft 57f2c598c7 Various changes from Rafal Boni to improve performance and reliability. Also,
clean up the formatting a little more.
1995-01-23 04:50:08 +00:00
mycroft 01ce8db055 Fix the problem with identifying cards on warm boot. Partly from Greg Hudson. 1995-01-22 07:37:28 +00:00
mycroft 3dddacd1ce Rearrange tests so `offline' has higher priority than `out of paper'. 1995-01-22 00:12:39 +00:00
mycroft fcdbd2bd7b Remove outdated comment. 1995-01-16 10:36:26 +00:00
mycroft a2dafd0821 Avoid using btrl, and check astpending before the return cs, because it's
faster and usually false.
1995-01-15 00:36:37 +00:00
mycroft 87d587e640 Simplify some sanity checks. 1995-01-13 14:46:44 +00:00
mycroft 4740006541 Oops. 1995-01-13 14:05:17 +00:00
mycroft 1e5cd9212d (Almost) allow sector sizes other than 512 bytes. Reduce some expensive operations. 1995-01-13 12:30:59 +00:00
mycroft 7bb384b66c Avoid some repeated multiplications. 1995-01-13 11:14:27 +00:00
mycroft 7650bd97fc Always boundary check I/O. 1995-01-13 10:46:32 +00:00
mycroft c541b630fc Add a sc_bcount, similar to wd.c. 1995-01-13 10:35:58 +00:00
mycroft 0033c975c6 Fix another bug in the DMA code. 1995-01-13 10:22:58 +00:00
mycroft 4abdb375bc Minor rearrangement. 1995-01-13 09:40:21 +00:00
mycroft c2bc310a37 Change the way sc_skip is used. Fix a bug in the (incomplete) DMA code. Add a
new sc_blkno (which will be useful later).
1995-01-13 08:58:16 +00:00
mycroft da7d74e3dc Fix typos. 1995-01-13 08:37:25 +00:00
mycroft ca84c10497 Only allow opening one density at a time. 1995-01-13 08:29:25 +00:00
mycroft 04a1fc8816 Change the way b_cylin and sc_track (now sc_cylin) are used slightly.
If transfer goes past end of disk, truncate it.
1995-01-13 07:57:01 +00:00
pk 0a22930d97 Explicitly test the RXRDY status bit on incoming characters. 1995-01-11 09:56:40 +00:00
mycroft e06bc8c13e Don't issue a controller self-test... 1995-01-07 22:48:29 +00:00
mycroft 06b0414491 Actually, do the ID reset in elink_reset(). 1995-01-07 21:37:54 +00:00
mycroft 37e16c5747 Don't print line numbers in most of the diagnostics. 1995-01-07 06:49:35 +00:00
mycroft d4f91d51a9 Fix a race condition between normal I/O and wd_get_parms(). 1995-01-07 03:07:22 +00:00
mycroft 7f61bec5cd Cosmetic changes, to look more like the new esp.c will. 1995-01-07 01:51:07 +00:00
mycroft ba288b4ae1 Do the reset in the individual drivers, not in elink_idseq(). 1995-01-06 21:41:26 +00:00
mycroft 6125e1b551 Fix oversight in previous. 1995-01-04 00:47:53 +00:00
mycroft 9e499d41b3 \
These files have been 99% rewritten from the original ast driver.  Add an
appropriate copyright notice.
1995-01-03 22:38:54 +00:00
mycroft 0349c5b9e0 Add a multiplexer for BOCA serial boards. 1995-01-03 22:26:36 +00:00
hpeyerl 09834a5bd3 This is correct according to the docs on both cards.
Doesn't seem to make any difference to the known problems though.
1995-01-03 05:04:04 +00:00
mycroft a987158712 Add interrupt sharing types. 1995-01-03 03:56:09 +00:00
mycroft b6c8a9a4e9 Update intr_establish() prototype. 1995-01-03 03:14:35 +00:00
mycroft 93a0c4a258 Add interrupt sharing types. 1995-01-03 01:42:11 +00:00
mycroft b5cf1b5ddd Add interrupt sharing types. 1995-01-03 01:30:14 +00:00
mycroft 326830c1ba Use direct config for subdevices. 1995-01-02 22:27:46 +00:00
mycroft e148dc7a64 Move setting of sc_maddr so soft config works. 1995-01-02 22:01:05 +00:00
mycroft a774fa6fe5 Use soft configuration when possible. 1995-01-02 21:57:04 +00:00
mycroft 3a967fcbb6 More cleanup. 1995-01-02 21:27:27 +00:00
mycroft 72dec3b548 Various cleanup. 1995-01-02 20:54:01 +00:00
mycroft 3a74796b3e Need isareg.h. 1995-01-02 20:39:35 +00:00
mycroft 894bb9145f Use soft configuration where possible. 1995-01-02 20:32:55 +00:00
mycroft 2d5b04744a Don't assume ia_maddr is in the hole. 1995-01-02 20:06:29 +00:00
mycroft 76b0b02cc3 Fix non-serious typo. 1994-12-31 05:34:00 +00:00
mycroft 8fd135209c Numerous changes. Many bugs fixed, better autoconfig, a few new features. 1994-12-28 19:42:47 +00:00
hpeyerl 262b425866 temporary warning until I get new docs. 1994-12-28 16:47:50 +00:00
mycroft ce06e718ad Fix flags to isa_dmastart(). 1994-12-17 18:45:11 +00:00
mycroft ca65f2ce5d Remove dkbad.h. 1994-12-14 15:17:22 +00:00
mycroft 05e78f1424 Add empty pcstop(). 1994-12-13 13:42:53 +00:00
mycroft e694663b46 Make the diagnostics less cryptic. 1994-12-12 04:43:51 +00:00
mycroft 3e4a358e28 Patch from Thomas Eberhardt to make PCnet-32 chips work. 1994-12-12 04:39:52 +00:00
christos 303841c92e 3c509 fixes to avoid adapter getting stuck in high traffic conditions.
I don't particularly like the fixes, but at least now the 3c509 never
gets stuck. On the other hand, performance still sucks in some cases.
1994-12-10 14:52:02 +00:00
mycroft 793e542f89 Fix format of attach message. 1994-12-10 05:55:26 +00:00
mycroft 8e6f464987 fdclose -> Fdclose 1994-12-03 15:17:06 +00:00
mycroft 8fd1f92ae7 Don't futz with the cursor shape unless we really, really need to. 1994-12-01 11:12:04 +00:00
mycroft 211b002017 Ignore ERR during diagnostics. 1994-12-01 10:45:26 +00:00
mycroft 6686f7f263 Rework detection a bit, and check for the Pentium fdiv bug. 1994-11-30 04:42:07 +00:00
mycroft 867ebf1d84 Clear the controller active flag after a timeout. 1994-11-30 02:32:03 +00:00
mycroft 5584ff927f Don't stall the queue on CHECK SENSE if we get a reselect while selecting. 1994-11-30 02:08:01 +00:00
mycroft 639a64de08 Fix a null pointer reference. 1994-11-29 21:35:13 +00:00
mycroft 51bed8d804 Add an assertion mechanism to check for more abnormal conditions. 1994-11-29 21:29:56 +00:00
mycroft 58cb5339d6 For consistency... 1994-11-29 20:57:28 +00:00
mycroft 41b26a6dfd Handle BUS FREE phase a little differently, to get better error detection. Other
cleanup.
1994-11-29 20:08:27 +00:00
mycroft bb90feebac Disable debugging breakpoints by default. 1994-11-29 17:56:49 +00:00
mycroft 5ac2484d95 * Redo most of the message and phase state machines. Multiple pending
message outs should now work correctly (including retransmissions).
Multiple messages ins should be more efficient.  Missing REQ after
reselection phase should now (correctly) cause a wait with ENREQINIT
set.

* Abstract out the reselection out sequence, and use it directly to
get sense info.  (This is somewhat faster than the generic done/sched
sequence.)

* If there are no ACBs available, wait interruptibly for one.

* Leave the interrupt registers alone during message in/out; just
watch for phase change.  Don't (incorrectly) reenable interrupts
during data in/out; defer that to aicintr().

* Handle command pointer per SCSI 2 spec.

* Other minor coding improvements.
1994-11-29 17:50:39 +00:00
christos 6a2c060851 fix unary plus typo :-) 1994-11-25 23:19:03 +00:00
mycroft cba32aa25f Minor update for new autoconfig. 1994-11-25 08:17:21 +00:00
mycroft 0649f37219 Officially credit Onno. 1994-11-23 22:00:08 +00:00
mycroft 8bacafc13c Clean up deleted files. 1994-11-23 09:10:13 +00:00
mycroft 2058abab15 Forgot to commit this as part of the LBA changes. 1994-11-23 07:56:52 +00:00
mycroft cc44b4600c There's no point in bothering to unlock what we didn't lock. 1994-11-23 07:54:15 +00:00
mycroft 6dda55519e Fix an outdated comment. 1994-11-23 03:11:01 +00:00
mycroft a3fc466734 Use logical block addressing if available. Be a little more careful about
maintaining timeouts.  Clean up wddump() a bit.
1994-11-23 01:35:43 +00:00
mycroft 525fc36e19 Implement 32-bit reads and writes, but for now assume 16-bit mode. 1994-11-22 10:20:16 +00:00
mycroft 3a99ddf172 Add a missing newline in some error messages. 1994-11-22 09:36:56 +00:00
mycroft db3bde9525 Implement EIDE multi-sector PIO and DMA modes, based on code from Onno van
der Linden.  Also, various structural cleanup, and fix two bogons that crept
in, and remove all of the old clustering nonsense.
1994-11-22 09:33:59 +00:00
mycroft 1e01855683 Minor fix to debugging code. 1994-11-22 05:50:48 +00:00
mycroft 85826f0fbe Fudge a couple more fields for ancient disks. 1994-11-22 05:39:16 +00:00
mycroft e1a7bac628 Change some constant names, etc., to better match the ATA spec. 1994-11-22 05:34:49 +00:00
mycroft 95edd299b0 Add still more locking. 1994-11-22 03:23:49 +00:00
mycroft 5bd4115690 Add some missing locking, and some general cleanup. 1994-11-20 22:36:43 +00:00
mycroft 9a3840f2f0 Stylistic changes. 1994-11-18 22:25:12 +00:00
mycroft 79a1309e3c Remove Xwild; it's no longer used. 1994-11-18 22:22:40 +00:00
mycroft 61800cfa25 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 22:07:32 +00:00
mycroft 35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +00:00
mycroft a2727ec558 Check IRQ 9, not IRQ 2. 1994-11-15 00:00:24 +00:00
mycroft b341f7a8c0 Map IRQ 2 to IRQ 9. 1994-11-14 23:58:56 +00:00
mycroft d254e95680 Garbage collect some variables which are no longer used. 1994-11-07 10:19:28 +00:00
mycroft 21e911d911 Update for new autoconfig. 1994-11-07 09:03:48 +00:00
mycroft d5f99262a9 Since npxdna() and npxsave() are only ever called at spl0 now, we can get rid
of all the overhead of frobbing the IDT, and just use a simple flag to tell
npxintr() to ignore interrupts.  This allows lots of code reduction.
Also, update some comments and add some DIAGNOSTIC code to detect is these
assumptions ever become wrong.
1994-11-07 03:39:37 +00:00
mycroft 5133a6cfd7 Only save the FPU state if somebody else needs the FPU, or when forking. 1994-11-06 23:43:17 +00:00
mycroft 2a9b6f7959 Fix stupid bug in last change. 1994-11-04 23:30:15 +00:00
mycroft 4ec6774e12 Add a simplified version of wdcommand() that can be used in some cases.
Avoid needing a wd_softc inside wdprobe().
1994-11-04 23:18:06 +00:00
mycroft 38420d7db1 Don't need cd_indirect. 1994-11-04 22:51:59 +00:00
mycroft 3df6bf0c0e Trivial stylistic changes. 1994-11-04 21:32:23 +00:00
mycroft 854d8d96dc Rearrange slightly. 1994-11-04 19:25:34 +00:00
mycroft cfc4633919 Remove outdated comment. 1994-11-04 19:17:47 +00:00
mycroft 1ec8f8d19c Make IRQ_SLAVE a plain number, too, and remove IRQ{0-15}. 1994-11-04 19:13:49 +00:00
mycroft 8d01374523 Don't need icu.h any more. 1994-11-04 19:08:19 +00:00
mycroft b7acf321cd No longer needs icu.h. 1994-11-04 18:59:34 +00:00
mycroft d66f8d7cdb Clean up deleted files. 1994-11-04 18:54:43 +00:00
mycroft 29414c5a0a Change all of the uses of IRQ{0-15} and bit masks to use plain numbers
rather than bit shifting.
1994-11-04 18:34:50 +00:00
mycroft 9af4fee97d Use kvtop() rather than address arithmetic in a couple of places. 1994-11-04 08:55:53 +00:00
mycroft d9b8813f0e Correct pcprobe() argument list. 1994-11-04 07:30:51 +00:00
mycroft 1948fcb3fa Add a new function config_scan(), which just calls a particular function
with each plausibly cfdata, ignoring the priority mechanism completely.
1994-11-04 06:40:11 +00:00
mycroft 2e8ae560f6 Commit incest with the config system for this one specific case. 1994-11-04 03:57:32 +00:00
mycroft fa769b0e97 Set ia_irq correctly. 1994-11-04 02:55:32 +00:00
mycroft 10c353cf10 Update to match autoconfig code. 1994-11-04 01:02:40 +00:00
mycroft 8f064215a2 isa.h -> isareg.h, and update prototype of pcprobe(). 1994-11-04 01:00:38 +00:00
mycroft 7773b21b74 Correct an oversight. 1994-11-04 00:53:06 +00:00
mycroft d4dd538296 Oops; forgot isacd. 1994-11-04 00:07:39 +00:00
mycroft d35f08ffa6 isa.h -> isareg.h 1994-11-04 00:00:36 +00:00
mycroft 3fca7e771a New version using standard config_*() functions. 1994-11-03 23:53:19 +00:00
mycroft ebbdd6473b Update to match autoconfig code. 1994-11-03 23:26:03 +00:00
mycroft 19fc9d55c8 *intr() arg does not need to be void*. 1994-11-03 23:23:38 +00:00
mycroft d0163400d1 Update to match autoconfig code. 1994-11-03 23:21:24 +00:00
mycroft 54cc63645d Update to match autoconfig code. 1994-11-03 23:08:27 +00:00
mycroft d23d1e83dc Use indirect config for subdevices, and add dkdrivers where missing. 1994-11-03 22:55:58 +00:00
mycroft 283745574f Commit this, though it really does need work. 1994-11-03 16:55:57 +00:00
mycroft ea307925ae Clean up deleted files. 1994-11-03 15:55:47 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
mycroft 9769a6a6f7 Various:
* Forget all cached info when opening a new disc.
* If the disc is removed, flush the buffer queue rather than stalling it.
* Set the default label after getting the disc size, and fill in the info
for RAW_PART also.
* Change another use of the unit number to a softc pointer.
* Use a dkdevice to hold the label and open partition masks.
* Force the partition offset to 0 for RAW_PART, regardless of the label.
* Nuke MCDPHYS() and MCDREADRAW; they had a silly bug that caused the code
to not work, and they aren't useful anyway.
Some other minor cleanup.
1994-10-28 23:39:59 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00