Commit Graph

1677 Commits

Author SHA1 Message Date
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