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