Commit Graph

802 Commits

Author SHA1 Message Date
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
mycroft
e75cb9b517 Oops; need spltty() around call to print(). 1994-10-26 18:13:24 +00:00
mycroft
556a119342 Implement *cnpollc(). 1994-10-26 18:06:30 +00:00
mycroft
7be5732f87 Implement new system call entry method. Clean up all of the IDT frobnication
code.
1994-10-26 01:30:59 +00:00
mycroft
260ddbefb7 Rearrange ed_init() slightly, to better correspond to the National manual.
Optimize ed_rint() slightly in the case of multiple packets.  (Avoid an outb
and an inb for each packet).
1994-10-23 23:24:56 +00:00
mycroft
603fe7b5a6 Slight optimization. 1994-10-23 21:38:00 +00:00
mycroft
0114159848 Fix the packet length correction for buggy chips so that it actually works,
and always use it (otherwise short packets could still be corrupted).  Also
produce a diagnostic message if DIAGNOSTIC, since it *is* a hardware bug.
Add an ED_PAGE_SHIFT constant, and use it, to avoid GCC doing horrendous
things with divides and multiplies.
1994-10-23 21:22:13 +00:00
mycroft
3e30a415ae Be careful not to stack multiple timeouts. 1994-10-20 19:22:01 +00:00
mycroft
4d072c5435 Remove the local timeout mechanism, and just use explicit timeout()/untimeout()
calls.
1994-10-20 18:37:45 +00:00
mycroft
c11a06cbc2 Always set d_secsize to 512 for now. 1994-10-20 17:03:09 +00:00
mycroft
0862d07daf Don't switch to single-sector mode just because we got a corrected error. 1994-10-20 16:36:21 +00:00
mycroft
d4153fff4d Rearrange wdcstart() in a more logical fashion, and eliminate many redundant
calculations.  Also, speed up bad block searching a little.
1994-10-20 16:19:08 +00:00
mycroft
cd66683989 openpart -> openmask 1994-10-20 14:08:07 +00:00
mycroft
cae71ba91d Various changes:
* Add a dkdevice; move sc_*openpart, sc_label, and sc_cpulabel into it.
* Turn sc_wlabel into a flag, and don't set it automatically in DIOCWLABEL.
* If there is no label, disallow all I/O except to the raw partition.
* Don't allow I/O to `unused' partitions.
* Beginnings of support for block sizes other than 512 bytes.
Other minor changes.
1994-10-20 13:44:46 +00:00
mycroft
cb4e5ecaa5 Print a single `soft error' message when an operation was retried and
eventually completed successfully.  Also fix fsbn numbers in diskerr() calls.
1994-10-20 04:46:17 +00:00
mycroft
b2d8a64ebd Make another printf() #ifdef FD_DEBUG. 1994-10-20 03:38:13 +00:00
mycroft
872999d392 Make the verbose diagnostics #ifdef FD_DEBUG. 1994-10-20 00:52:23 +00:00
mycroft
70e27da16b Fix up some printfs and make them consistent. 1994-10-18 18:24:35 +00:00
mycroft
8ae8b4ab29 Bug fixes from Rafal Boni:
* Set promiscuous mode flag before configuring card, so it actually works.
* Handle failed TDR commands correctly.
* Remove some apparently defunct and bogus code.
(This driver needs more work.)
1994-10-18 13:40:30 +00:00
cgd
320359f8e2 change, requested by Jarle Greipsland 1994-10-17 00:08:29 +00:00
mycroft
d00c05633a Wait on the correct bit in the lower half of kbc_get8042cmd(); and some other
mostly stylistic changes.  Based on suggestions from John Hood.
1994-10-16 15:46:13 +00:00
cgd
49c34d3337 move arch dependence to archs. clean up a bit. deal with weird MAXPARTITONS. 1994-10-14 18:26:22 +00:00
mycroft
6f5794ecba Fix bugs in dealing with odd-length mbufs in ed_pio_write_mbufs(). From
John Hood.
1994-10-14 13:05:13 +00:00
mycroft
7c01f7ce51 Changes from DG to deal with some old chips that corrupt the packet length. 1994-10-12 13:42:00 +00:00
mycroft
4252ca6644 Correct multicast filter calculation. 1994-10-09 21:19:04 +00:00
mycroft
ee5cde2719 Oops; slight optimization to the previous. 1994-10-09 18:10:55 +00:00
mycroft
236f105ccd Remove unneeded #includes. 1994-10-09 15:06:23 +00:00
mycroft
f72ff16e5b Oops. Just fake %ebp; nothing else. 1994-10-09 14:45:40 +00:00
mycroft
c9cb256e1d If DDB is configured, make a fake stack frame. 1994-10-09 14:43:00 +00:00
mycroft
cce04a7aa1 Put the delay in a macro, and implement it differently. 1994-10-09 09:28:54 +00:00
mycroft
b90985ee3d Don't poll the BUSY bit until the SDH register is set. 1994-10-07 11:34:52 +00:00
mycroft
1eaa03e7dc Fix initial allocation of dev array, and simplify the code
slightly.
1994-10-07 09:08:29 +00:00
mycroft
86e7908a72 Make some comments more clear. 1994-10-01 07:19:32 +00:00
mycroft
f7b0f89811 Various minor changes to sync better with DG's version. 1994-10-01 07:13:32 +00:00
mycroft
0e28696023 Add IO_PPI. 1994-10-01 03:52:46 +00:00
mycroft
e32c213d35 Add IO_PMP[12] and IO_PMPSIZE. 1994-10-01 03:48:49 +00:00
mycroft
1e0ffaa7d6 Clean up a little. 1994-10-01 03:42:59 +00:00
mycroft
c25a6980ac Add INTRUNMASK(). 1994-10-01 03:37:37 +00:00
mycroft
cc1852efe4 Add some delays to save the Gateway (lose, lose) keyboard controllers. 1994-09-18 19:33:11 +00:00
mycroft
b7cc64e049 Check the SB Pro IRQ and DRQ correctly. From Jason Thorpe. 1994-09-16 23:48:22 +00:00
mycroft
c7003d37d3 Only reset FIFO if changing baud rate. From John Kohl (slightly edited). 1994-09-16 02:50:39 +00:00
mycroft
8dd2c63b08 Turn off the delay debugging messages again. 1994-09-12 20:29:08 +00:00
mycroft
584de55692 Missed an iobase that should be u_short. 1994-09-05 00:21:40 +00:00
mycroft
a13c1b15cc Minor. 1994-08-26 12:43:17 +00:00
deraadt
de20d2cf67 Re-enable EISA reset code -- definately needed now. do RX_DISCARD_TOP_PACK
before leaving splhigh(), to give incoming packets a better chance.
1994-08-26 12:11:44 +00:00
deraadt
6c2b49032b fix debugging stuff, from dean 1994-08-25 20:18:25 +00:00
mycroft
5e4a51278b Set the FIFO threshold based on the receive speed, per Mark Weaver. 1994-08-24 07:25:18 +00:00
mycroft
c4eac0f370 Some cleanup, checked by Dean. 1994-08-23 23:40:55 +00:00
mycroft
8ac5e10c5d Various code cleanup. 1994-08-23 19:30:12 +00:00