Commit Graph

1698 Commits

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