Commit Graph

5402 Commits

Author SHA1 Message Date
mycroft
38d3366f0f Fix type of `code' arg to sendsig(). 1994-11-08 04:22:39 +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
cgd
d4510670f1 fix for bug 559, as reported by Jason Thorpe. (fix by me) 1994-11-06 21:49:08 +00:00
mycroft
58b3010e87 Use %eax slightly more effectively in cpu_switch(). 1994-11-06 20:51:46 +00:00
mycroft
2f38797073 Trivial changes to make the code more consistent. 1994-11-06 20:39:50 +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
deraadt
4cd7c0f34e reset scsi bus at attach time 1994-11-05 09:35:54 +00:00
deraadt
880176b15b proc0.p_addr must be initialized before we can take a probe trap, so
that the pcb_onfault will be work
1994-11-05 09:31:05 +00:00
deraadt
0d4b376377 only print the vec if needed 1994-11-05 09:28:06 +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