Commit Graph

1838 Commits

Author SHA1 Message Date
mycroft 6d6a24357a Compile with -g. 1994-12-06 05:02:26 +00:00
mycroft 1e0e6d72c9 Conditionalize the audio driver on NAUDIO, not NSB, now that the former
exists.
1994-12-05 05:45:38 +00:00
mycroft e92233c07c Deal correctly with esym being 0. 1994-12-04 07:37:27 +00:00
mycroft c3b944cb15 Use correct select routine for audio. 1994-12-04 06:32:39 +00:00
mycroft 8e6f464987 fdclose -> Fdclose 1994-12-03 15:17:06 +00:00
mycroft 5c3d80060d Reset the entire PSL, not just part of it. 1994-12-03 14:55:51 +00:00
mycroft 73afee1973 We don't need the extra space to preserve the BIOS variables any more. 1994-12-02 03:02:49 +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 434d451672 Adjust dump calculation to avoid sign problems. 1994-12-01 09:53:38 +00:00
mycroft 6686f7f263 Rework detection a bit, and check for the Pentium fdiv bug. 1994-11-30 04:42:07 +00:00
mycroft c72f58d401 Don't need to turn on emulation when npx not present; we leave it off always. 1994-11-30 04:26:06 +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 dcb90851c2 Minor change. 1994-11-22 01:21:11 +00:00
mycroft 5bd4115690 Add some missing locking, and some general cleanup. 1994-11-20 22:36:43 +00:00
mycroft d2d4dc4654 Use immediate constants for port numbers < 0x100. 1994-11-20 21:36:44 +00:00
christos f63115591a Included <sys/cdefs.h> since this file is now using __signed.
It broke non gnu compilers.
1994-11-20 18:50:18 +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 e075f8c13d Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 22:18:35 +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
christos fc8e694056 Fixed error svr4 error code mapping; my old attempt was a noop. 1994-11-16 20:14:42 +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 e91e570cfd Shorten the Cyrix handling code a little. 1994-11-14 23:35:48 +00:00
mycroft 423bfa0764 Garbage collect unused variable. 1994-11-14 08:53:06 +00:00
christos a96cb110a3 Added new svr4 files 1994-11-14 05:54:30 +00:00
christos 55845b1901 changed open prototype in conf.c; added bsd->svr4 errno mapping in trap.c 1994-11-14 05:53:48 +00:00
mycroft 1c5ac2e88c pcb.h requires segments.h now. 1994-11-08 23:09:21 +00:00
mycroft f875a9efe6 Allocate pv_pages differently. 1994-11-08 01:17:19 +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 cfae52f542 It's legitimate, if foolish, to mask SIGCONT. 1994-11-07 05:57:28 +00:00
mycroft 297c06de67 Comment previous change. 1994-11-07 05:32:50 +00:00
mycroft 86a2079aef When restarting syscalls, make sure we adjust the PC by the correct amount
depending on what instruction we used to enter the kernel.  Push the
instruction length into tf_err on entry.
1994-11-07 05:26:08 +00:00
mycroft ed993b3930 Two trivial optimizations. 1994-11-07 05:09:04 +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 f3ef31e4aa Oops; forgot to adjust stack offset. 1994-11-06 22:05:08 +00:00
mycroft 37863af7bb Forgot two underscores. 1994-11-06 21:51:47 +00:00
mycroft 58b3010e87 Use %eax slightly more effectively in cpu_switch(). 1994-11-06 20:51:46 +00:00
mycroft 915336b97c Approximate the divide by multiplying by 3433/4096. This is faster than
the previous code, and more accurate.  Also avoid saving and restoring
registers.
(The multiplication algorithm was generated by GCC.)
1994-11-06 20:33:35 +00:00
mycroft ddb6e42460 Actually, don't bother checking p == 0 at all. 1994-11-06 20:30:09 +00:00
mycroft 5cf38ebdb4 The case of curproc == 0 `can't happen' unless we're in the idle loop, so
allow it to panic by way of a reference to 0 in other cases.  Explicitly test
for p == 0 in the specific cases where it's needed, and only calculate pcb if
needed.
1994-11-06 20:28:57 +00:00
mycroft 9a84611b06 Move the spl0() from the idle loop to the top of cpu_switch(). (This also
avoids needing to call spllower() below.)  Set curproc immediately after
removing the new process for the run queue, before allowing interrupts again,
for the benefit of schedcpu().
1994-11-06 20:21:29 +00:00
mycroft 205d425f2f As pointed out by Bruce, splsoftclock() needs to process pending interrupts
when lowering the priority.  Do this by simply calling splx().  For the
benefit of NFS (for now), modify splx() to return a value so that
splsoftclock() does.  This work is optimized out for every use of splx()
that ignores the value, so it only affects relevant code.
Also, clean up this file a little.
1994-11-06 01:37:47 +00:00
mycroft c2191a2ad0 Fully prototype ssdtosd() and sdtossd(). 1994-11-05 03:20:36 +00:00
mycroft 34c4570d61 Only use ssdtosd() when creating, expanding, or copying the LDT. Keep a copy
of the result in the PCB so it can be loaded quickly on context switches.
1994-11-05 03:17:33 +00:00
mycroft 867ac5e15f Add sdtossd() by HOSOKAWA Tatsumi, and a C version of ssdtosd() by me. 1994-11-05 02:47:02 +00:00
mycroft 600aa2c5f8 Trivial optimizations. Also, make sure we get the overflow correct if
called at spl >= clock.
1994-11-05 02:16:26 +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 098c6e36e6 Various cleanup. In particular, be much more careful with buffer flags. 1994-11-04 21:19:48 +00:00
mycroft e11ffbc64b Fix a call to math_abort(). 1994-11-04 20:47:07 +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 95f0ee6cd5 Remove icu.h. 1994-11-04 19:11:13 +00:00
mycroft 2252d31c99 Remove use of IRQ0. 1994-11-04 19:10:46 +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 195574a7de Change all of the uses of IRQ{0-15} and bit masks to use plain numbers
rather than bit shifting.
1994-11-04 18:57:15 +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 0ba30791b5 Remove references to isa_devtab. 1994-11-04 09:57:52 +00:00
mycroft f8183b2d0e Make a wrapper match function to check the bus and device numbers, rather
than insisting that every driver do it.
1994-11-04 09:42:18 +00:00
mycroft 9af4fee97d Use kvtop() rather than address arithmetic in a couple of places. 1994-11-04 08:55:53 +00:00
mycroft a980084e46 EISA devices have no DRQ. 1994-11-04 08:24:25 +00:00
mycroft b12de59a0a Make this work with new config code. 1994-11-04 07:39:19 +00:00
mycroft 494ac4a412 Comment out one option that doesn't quite work at the moment. 1994-11-04 07:36:44 +00:00
mycroft d9b8813f0e Correct pcprobe() argument list. 1994-11-04 07:30:51 +00:00
mycroft 372fb664e9 Add needs-flag to audio device. 1994-11-04 07:26:49 +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 e43f08ff4c Add `newvers' target. 1994-11-04 01:22:26 +00:00
mycroft df97a5a224 Oops; don't always include EISA and PCI autoconfig. 1994-11-04 01:08:12 +00:00
mycroft b65100aa43 Remove ep0. 1994-11-04 01:03:35 +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 8ce4eae125 Need some constants from isareg.h. 1994-11-04 00:44:32 +00:00
mycroft 162eab3e92 Use NFDC and NWDC, not NFD and NWD. 1994-11-04 00:41:20 +00:00
mycroft 9e4b0e45fe Use NFDC and NWDC, not NFD and NWD. 1994-11-04 00:40:17 +00:00
mycroft 0fe0a0575c #include device.h, for prototypes. 1994-11-04 00:36:47 +00:00
mycroft d4dd538296 Oops; forgot isacd. 1994-11-04 00:07:39 +00:00
mycroft d58828dd61 vector.h should have been nuked ages ago. 1994-11-04 00:02: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 05ff8766ef Call config_rootfound() once for each bus type. 1994-11-03 23:46:15 +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 94cde915db Rename pciprobe() to pcimatch(), and move it to pci_machdep.c. 1994-11-03 22:27:16 +00:00
mycroft 194e83af73 Don't allow configuration of specific PCI function numbers. 1994-11-03 22:18:36 +00:00
mycroft e06bd72a85 Always use direct configuration. 1994-11-03 22:15:19 +00:00
mycroft c5d78ba883 Stylistic changes. 1994-11-03 20:12:05 +00:00
mycroft c6038ad75c Clone from GENERIC. 1994-11-03 19:36:05 +00:00
mycroft eb0b9ef0c2 Clone from GENERIC. 1994-11-03 19:21:01 +00:00
mycroft 6d40ac4041 pms0 would be at irq 12 if it existed. 1994-11-03 19:09:17 +00:00
mycroft 429f49d58f Clone from GENERIC. 1994-11-03 19:00:12 +00:00
mycroft b3d26ef983 Same as GENERIC, but assumes no local disks or tapes. 1994-11-03 18:45:45 +00:00
mycroft 8b77809605 Clone from GENERIC. 1994-11-03 18:37:51 +00:00
mycroft a955dc06dc Rearrange slightly. 1994-11-03 18:27:13 +00:00
mycroft 8685fcd96b commulti needs slave #. 1994-11-03 18:26:48 +00:00
mycroft eada385a68 Clean up deleted files. 1994-11-03 18:14:54 +00:00
mycroft 39ee7e572c Make a real GENERIC config. 1994-11-03 18:14:50 +00:00
mycroft 283745574f Commit this, though it really does need work. 1994-11-03 16:55:57 +00:00
mycroft c47f94b951 Remove some needs-count specs. 1994-11-03 16:50:50 +00:00
mycroft 0f73b4b80a ep can be on EISA bus. 1994-11-03 16:46:42 +00:00
mycroft 557c715327 Make this actually work. 1994-11-03 16:43:26 +00:00
mycroft 06687c1c8d Make this a little closer to current reality. 1994-11-03 16:25:25 +00:00
mycroft ea307925ae Clean up deleted files. 1994-11-03 15:55:47 +00:00
mycroft a5917e2a63 Relocate aha1742.c, in preparation for other changes. 1994-11-03 15:55:40 +00:00
mycroft 0f8e6cf968 Make a copy of the LDT when forking. 1994-11-01 06:49:19 +00:00
mycroft d296006dca Add USER_LDT. 1994-10-31 21:07:50 +00:00
andrew 20cc8b6c5c Increase NKPDE to cope with 64MB RAM. 1994-10-31 06:30:52 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd f02d90ac83 code is u_long for sendsig() 1994-10-30 19:18:44 +00:00
cgd a91a509292 add NFS server functionality 1994-10-29 08:34:06 +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
mycroft 46ba25f017 Add vnode_if.[ch] to the clean target. 1994-10-28 17:05:29 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00