Commit Graph

1718 Commits

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