Commit Graph

2019 Commits

Author SHA1 Message Date
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
andrew 5a13863a4b Default to decent performance. 1994-10-27 02:04:18 +00:00
andrew fc67924047 Merge changes from Wolfgang Stanglmeier's 941012 release. 1994-10-27 02:02:00 +00:00
mycroft 7269ce27cc We don't need to clear the nested trap bit. 1994-10-26 18:45:40 +00:00
mycroft e75cb9b517 Oops; need spltty() around call to print(). 1994-10-26 18:13:24 +00:00
mycroft 556a119342 Implement *cnpollc(). 1994-10-26 18:06:30 +00:00
mycroft 6371cf2364 Add pccnpollc() and comcnpollc(). 1994-10-26 18:00:13 +00:00
mycroft fa0bf2b51a Add a comment. 1994-10-26 17:52:22 +00:00
mycroft e65f99d726 Use pcb_onfault only in the specific cases of protection, alignment, and
page faults.  For all other kernel-mode faults and traps, ignore it.  For
user-mode faults and traps, always ignore it.
Some other minor cleanup.
1994-10-26 17:38:44 +00:00
mycroft 4178f44192 Add a missing item to trap_types[]. 1994-10-26 01:32:51 +00:00
mycroft 7be5732f87 Implement new system call entry method. Clean up all of the IDT frobnication
code.
1994-10-26 01:30:59 +00:00
cgd 3f7c5d3d59 add COMPAT_10 1994-10-25 21:31:32 +00:00
mycroft 7594210178 Slight optimization to remrq(); no need to use/save %esi. 1994-10-25 15:13:44 +00:00
mycroft 0b827ee8ee Add some #defines for the offsets into the bootstrap tables. 1994-10-25 14:46:50 +00:00
mycroft 9f00060fdf Map the kernel text read-only if !DDB. Also, shorten many parts of the page
table startup by judicious application of lea.
1994-10-25 14:31:24 +00:00
deraadt b415eb1d1d new from christos 1994-10-24 17:37:34 +00:00
mycroft 260ddbefb7 Rearrange ed_init() slightly, to better correspond to the National manual.
Optimize ed_rint() slightly in the case of multiple packets.  (Avoid an outb
and an inb for each packet).
1994-10-23 23:24:56 +00:00
cgd a6426e2b27 oops; went overboard, and did the user_ldt calls the wrong way. 1994-10-23 21:57:12 +00:00
mycroft 603fe7b5a6 Slight optimization. 1994-10-23 21:38:00 +00:00
mycroft 0114159848 Fix the packet length correction for buggy chips so that it actually works,
and always use it (otherwise short packets could still be corrupted).  Also
produce a diagnostic message if DIAGNOSTIC, since it *is* a hardware bug.
Add an ED_PAGE_SHIFT constant, and use it, to avoid GCC doing horrendous
things with divides and multiplies.
1994-10-23 21:22:13 +00:00
mycroft a9ef20740a Make this compile with USER_LDT again. 1994-10-20 23:48:21 +00:00
mycroft be18e790ff Get the label sector right if there is no NetBSD partition in the MBR. 1994-10-20 22:44:37 +00:00
mycroft 3e30a415ae Be careful not to stack multiple timeouts. 1994-10-20 19:22:01 +00:00
mycroft 4d072c5435 Remove the local timeout mechanism, and just use explicit timeout()/untimeout()
calls.
1994-10-20 18:37:45 +00:00
mycroft c11a06cbc2 Always set d_secsize to 512 for now. 1994-10-20 17:03:09 +00:00
mycroft 0862d07daf Don't switch to single-sector mode just because we got a corrected error. 1994-10-20 16:36:21 +00:00
mycroft d4153fff4d Rearrange wdcstart() in a more logical fashion, and eliminate many redundant
calculations.  Also, speed up bad block searching a little.
1994-10-20 16:19:08 +00:00
mycroft cd66683989 openpart -> openmask 1994-10-20 14:08:07 +00:00
mycroft cae71ba91d Various changes:
* Add a dkdevice; move sc_*openpart, sc_label, and sc_cpulabel into it.
* Turn sc_wlabel into a flag, and don't set it automatically in DIOCWLABEL.
* If there is no label, disallow all I/O except to the raw partition.
* Don't allow I/O to `unused' partitions.
* Beginnings of support for block sizes other than 512 bytes.
Other minor changes.
1994-10-20 13:44:46 +00:00
mycroft cb4e5ecaa5 Print a single `soft error' message when an operation was retried and
eventually completed successfully.  Also fix fsbn numbers in diskerr() calls.
1994-10-20 04:46:17 +00:00
cgd 77e4fe47ef update for new syscall args description mechanism 1994-10-20 04:43:21 +00:00
mycroft b2d8a64ebd Make another printf() #ifdef FD_DEBUG. 1994-10-20 03:38:13 +00:00
mycroft 872999d392 Make the verbose diagnostics #ifdef FD_DEBUG. 1994-10-20 00:52:23 +00:00
mycroft 70e27da16b Fix up some printfs and make them consistent. 1994-10-18 18:24:35 +00:00
mycroft 8ae8b4ab29 Bug fixes from Rafal Boni:
* Set promiscuous mode flag before configuring card, so it actually works.
* Handle failed TDR commands correctly.
* Remove some apparently defunct and bogus code.
(This driver needs more work.)
1994-10-18 13:40:30 +00:00
cgd 1725b07a35 there are no flags between us (and compiling) any more. 1994-10-18 06:11:15 +00:00
cgd 805605ce56 kill le0. *sigh* 1994-10-17 21:49:51 +00:00
cgd 320359f8e2 change, requested by Jarle Greipsland 1994-10-17 00:08:29 +00:00
mycroft d00c05633a Wait on the correct bit in the lower half of kbc_get8042cmd(); and some other
mostly stylistic changes.  Based on suggestions from John Hood.
1994-10-16 15:46:13 +00:00
mycroft 06b14c27fd Substantially smaller and faster version, from me. 1994-10-16 15:37:41 +00:00
cgd f501e4e128 make <stdarg.h> a symlink, and clean up ports' stdarg.h and varargs.h files. 1994-10-15 04:57:29 +00:00
cgd 49c34d3337 move arch dependence to archs. clean up a bit. deal with weird MAXPARTITONS. 1994-10-14 18:26:22 +00:00
mycroft 6f5794ecba Fix bugs in dealing with odd-length mbufs in ed_pio_write_mbufs(). From
John Hood.
1994-10-14 13:05:13 +00:00
mycroft 7c01f7ce51 Changes from DG to deal with some old chips that corrupt the packet length. 1994-10-12 13:42:00 +00:00
mycroft 4252ca6644 Correct multicast filter calculation. 1994-10-09 21:19:04 +00:00
mycroft ee5cde2719 Oops; slight optimization to the previous. 1994-10-09 18:10:55 +00:00
mycroft 8c5f95b10b Pretend that trap() and syscall() have no args. 1994-10-09 16:09:27 +00:00
mycroft 88501e66d2 Fix post-decrement loop to not overshoot, so the last change works right. 1994-10-09 15:49:10 +00:00
mycroft 867f51ab31 Only print the return address of an interrupt, trap, or syscall separately if
it was the last frame in the trace; otherwise the info is duplicated.
1994-10-09 15:40:51 +00:00
mycroft 236f105ccd Remove unneeded #includes. 1994-10-09 15:06:23 +00:00
mycroft c3fa5122d6 #include cpufunc.h from pmap.h. 1994-10-09 15:00:38 +00:00
mycroft 2013b5f349 Combine INTERRUPT case with TRAP and SYSCALL. 1994-10-09 14:51:17 +00:00
mycroft f72ff16e5b Oops. Just fake %ebp; nothing else. 1994-10-09 14:45:40 +00:00
mycroft c9cb256e1d If DDB is configured, make a fake stack frame. 1994-10-09 14:43:00 +00:00
mycroft 5d0226231f Do something sensible with interrupt frames. 1994-10-09 14:37:54 +00:00
mycroft aef750bbec Fix slight bogosity in trap frame handling, and combine with syscall case. 1994-10-09 13:48:40 +00:00
mycroft e19b0472c8 Make multiple-inclusion protection consistent. 1994-10-09 13:33:53 +00:00
mycroft c87fbde918 Fix typo. 1994-10-09 13:31:19 +00:00
mycroft 701c0f0058 Eliminate i386_saved_state. 1994-10-09 13:27:07 +00:00
mycroft 8295e4b8f2 Nuke dirty(). 1994-10-09 13:23:21 +00:00
mycroft ebbc8e0476 Make the conversion macros more consistent. 1994-10-09 13:20:37 +00:00
mycroft 18830ce0ea Define pmap_update() using tlbflush(). 1994-10-09 13:11:18 +00:00
mycroft e165978b36 Use pmap_update(), not tlbflush(). 1994-10-09 13:09:11 +00:00
mycroft 47db98b4d9 Eliminate register restrictions where possible. 1994-10-09 13:02:56 +00:00
mycroft 87041c0044 Make reg, frame, and sigcontext more similar. 1994-10-09 12:57:11 +00:00
mycroft 112dac786c Make reg, frame, and sigcontext more similar. 1994-10-09 12:39:05 +00:00
mycroft cce04a7aa1 Put the delay in a macro, and implement it differently. 1994-10-09 09:28:54 +00:00
mycroft 13c1794b82 Eliminate tf_isp. 1994-10-09 09:20:28 +00:00
mycroft ae6f1ba610 Don't use pusha and popa. 1994-10-09 09:19:29 +00:00
mycroft 621455a04a Don't allow interrupts while in DDB. 1994-10-09 09:13:18 +00:00
mycroft b90985ee3d Don't poll the BUSY bit until the SDH register is set. 1994-10-07 11:34:52 +00:00
mycroft 1eaa03e7dc Fix initial allocation of dev array, and simplify the code
slightly.
1994-10-07 09:08:29 +00:00
mycroft 4010acf9f3 Handle Cyrix CPUs a bit differently. Based on suggestions from Michael
VanLoon.
1994-10-06 03:36:40 +00:00
jtc badcc17a6d Add constants required by XPG3 1994-10-05 17:16:29 +00:00
mycroft 86e7908a72 Make some comments more clear. 1994-10-01 07:19:32 +00:00
mycroft f7b0f89811 Various minor changes to sync better with DG's version. 1994-10-01 07:13:32 +00:00
mycroft 6ddbe860c2 Update from Wolfgang Stanglemeier. 1994-10-01 06:27:56 +00:00
mycroft 0e28696023 Add IO_PPI. 1994-10-01 03:52:46 +00:00
mycroft e32c213d35 Add IO_PMP[12] and IO_PMPSIZE. 1994-10-01 03:48:49 +00:00
mycroft 1e0ffaa7d6 Clean up a little. 1994-10-01 03:42:59 +00:00
mycroft c25a6980ac Add INTRUNMASK(). 1994-10-01 03:37:37 +00:00
jtc 62db8972b1 Updated bde's comments wrt. i387 control word settings so that they
describe NetBSD, rather than 386BSD 0.1.
Removed 386BSD and BDE control word constants, since we don't need and
will never use them.  However, The iBCS control word constant is kept,
since we might want to use it in the iBCS binary compatibility code.
1994-09-22 00:37:13 +00:00
mycroft 1c8e17fb63 Prototype spllower(). 1994-09-19 05:05:15 +00:00
mycroft cc1852efe4 Add some delays to save the Gateway (lose, lose) keyboard controllers. 1994-09-18 19:33:11 +00:00
mycroft b7cc64e049 Check the SB Pro IRQ and DRQ correctly. From Jason Thorpe. 1994-09-16 23:48:22 +00:00
mycroft c7003d37d3 Only reset FIFO if changing baud rate. From John Kohl (slightly edited). 1994-09-16 02:50:39 +00:00
mycroft 8dd2c63b08 Turn off the delay debugging messages again. 1994-09-12 20:29:08 +00:00
mycroft 71564b8859 Turn off a few things. 1994-09-11 08:39:36 +00:00
jtc bdd26b125c asm -> __asm (PR #463). 1994-09-10 01:07:08 +00:00
mycroft 0d3651018e Make kernel_pmap a macro that points directly to kernel_pmap_store. 1994-09-09 23:58:48 +00:00
mycroft cf04bbff56 Small optimization for the !DIAGNOSTIC case. 1994-09-09 03:16:03 +00:00
mycroft 289bc175c6 Another tiny optimization. 1994-09-08 21:56:14 +00:00
mycroft a90cca9558 Add a simple pv_page garbage collector (currently disabled). 1994-09-08 21:03:43 +00:00
mycroft 4116a4243e Various changes:
* Inline some functions.
* Eliminate redundant calls to pmap_page_index().
* Reduce the number of TLB flushes in accordance with the i386 SSWG.
* Inline pmap_remove() in pmap_remove_all().  (Most if it is unnecessary.)
* Allocate pv_entry's in pages, and keep a list of free entries in each page,
and a list of pages with free entries.  (Trying to reduce malloc() overhead,
and improve locality of reference.)
* Remove a couple of macros that aren't really useful.
* Remove pmap_kernel() completely.
1994-09-07 20:48:52 +00:00
mycroft d884d26b32 Trivial change of no significance. 1994-09-07 20:32:45 +00:00
mycroft 9d4125d1ec A few small optimizations. 1994-09-07 20:32:00 +00:00
mycroft e4bc47c9fc Remove bogus attempt to map the interrupt pins here. The BIOS is supposed to
do it anyway.
1994-09-06 01:25:22 +00:00
mycroft faa18f6ce6 New iBCS2 code from Scott. 1994-09-05 01:08:43 +00:00
mycroft 584de55692 Missed an iobase that should be u_short. 1994-09-05 00:21:40 +00:00
mycroft 6c66af544c Fix some ugly code. 1994-09-02 05:12:12 +00:00
jtc b3b55d02f1 Misc changes to make this file more like the asm.h headers used by other
architectures:
	Renamed _C_FUNC() to _C_LABEL()
	Renamed _ASM_FUNC() to _ASM_LABEL()
	Merged _BEGIN_ENTRY with _ENTRY
	Renamed _END_ENTRY to _PROF_PROLOGUE

When assembling with profiling enabled, set up stack frame before calling
mcount() in _PROF_PROLOGUE.  Also omit emitting .long 0's, as they are no
longer used by the profiling code.
1994-09-02 05:02:47 +00:00
mycroft 9ea30b3bf3 Check for bad p_emul. 1994-08-30 06:19:44 +00:00
mycroft 90b0e68767 Clean up deleted files. 1994-08-29 23:12:23 +00:00
cgd e67ae11432 no more floppy bins; these now done by crunch. 1994-08-29 23:10:58 +00:00
mycroft a13c1b15cc Minor. 1994-08-26 12:43:17 +00:00
deraadt de20d2cf67 Re-enable EISA reset code -- definately needed now. do RX_DISCARD_TOP_PACK
before leaving splhigh(), to give incoming packets a better chance.
1994-08-26 12:11:44 +00:00
glass 891ca8ce21 my kernel config 1994-08-26 05:07:00 +00:00
deraadt 6c2b49032b fix debugging stuff, from dean 1994-08-25 20:18:25 +00:00
mycroft cb3576ee87 If possible, lower the CPU class if the correct one is not configured. 1994-08-25 00:10:30 +00:00
mycroft d20de15399 Add USPACE. 1994-08-24 19:32:36 +00:00
mycroft f6a9558d05 Update to match reality. 1994-08-24 19:28:03 +00:00
mycroft 5e4a51278b Set the FIFO threshold based on the receive speed, per Mark Weaver. 1994-08-24 07:25:18 +00:00
deraadt 62939dc113 pcvt & bt dynamic irq 1994-08-24 07:10:22 +00:00
mycroft c4eac0f370 Some cleanup, checked by Dean. 1994-08-23 23:40:55 +00:00
mycroft 8ac5e10c5d Various code cleanup. 1994-08-23 19:30:12 +00:00
deraadt 666f228bab add `eg' driver for the 3c505 by <dean@fsa.ca> 1994-08-23 17:59:33 +00:00
mycroft 996b2b5c54 Disable EISA reset, for now. 1994-08-22 21:53:23 +00:00
mycroft 71c5da7bfb Fix typo in WDCS_BITS. 1994-08-22 21:43:35 +00:00
mycroft 9c921e0ada Remove SF and SR. 1994-08-21 15:25:28 +00:00
mycroft 8b8390a4bb Look for MDMBUF in cflag, not lflag. 1994-08-21 15:04:37 +00:00
mycroft 24381e7f01 Validate unit number correctly. 1994-08-17 19:14:53 +00:00
deraadt 256353ef62 multicast 1994-08-17 06:04:49 +00:00
mycroft 0c5a342fde Add vnd. 1994-08-16 19:20:14 +00:00
mycroft 3481b6aa87 Add iBCS2 files. 1994-08-15 23:33:59 +00:00
mycroft 82ccfef767 Remove misplaced SVR4 dispatch. 1994-08-15 22:38:39 +00:00
mycroft 1ec65d2465 Add iBCS2 glue. 1994-08-15 22:24:22 +00:00
mycroft 01c2a3243e Add flags for iBCS2 compat. 1994-08-15 22:19:44 +00:00
cgd cefdccbf31 changes for the new sys_process.c, and some cleanup 1994-08-15 16:37:04 +00:00
mycroft d980c59b98 Better fix for the previous. 1994-08-15 15:19:55 +00:00
mycroft 05c7d6e9c7 Kill stupid compiler warning. 1994-08-15 15:17:07 +00:00
mycroft 5f27568164 Eliminate struct pte and struct pde. 1994-08-15 14:46:45 +00:00
mycroft 36975ff354 Don't use altsts. Sigh. 1994-08-15 08:22:20 +00:00
gwr 486ad2cc03 Correct bad memory reference when dumpdev == NODEV (i.e. DISKLESS). 1994-08-14 22:47:28 +00:00
gwr 8a15866490 Just like GENERIC but gets root/swap from NFS. 1994-08-14 22:38:54 +00:00
mycroft a618f9d915 Slight optimization, and don't go bonkers if one of the sub-devices is not
configured.
1994-08-14 14:13:25 +00:00
mycroft a570fcd929 Re-enable EISA reset. 1994-08-14 09:43:59 +00:00
mycroft cd2f7cc8a0 Clean up a little. 1994-08-14 09:24:55 +00:00
mycroft 60280d9735 Don't allow VM86 mode, for now. 1994-08-13 06:55:47 +00:00
mycroft 3c3258eb6d Make this work. 1994-08-11 04:54:13 +00:00
mycroft 55b11feb0a Update some comments. 1994-08-10 04:37:52 +00:00
mycroft e079a8f355 Add ncr0. 1994-08-09 22:31:45 +00:00
mycroft d291808d92 Add NCR and PCI files. 1994-08-09 22:24:29 +00:00
mycroft 8dbfcf9e2e Add NCR 53c8XX driver, originally from Wolfgang Stanglmeier. 1994-08-09 22:20:44 +00:00
mycroft 199e2eea6a Fix handling of M-RET with PCVT_META_ESC defined. 1994-08-09 13:56:25 +00:00
mycroft 6df721be97 Add PCI autoconfiguration support. 1994-08-09 00:47:46 +00:00
mycroft 061c42c22d Minor update. 1994-08-08 07:09:31 +00:00
mycroft 59de58a39b Count up the silo overflows and only log a warning at most once per minute. 1994-08-07 11:27:51 +00:00
mycroft 9c8afcf191 Avoid using DFIFOHF, which doesn't exist on 6260 chips. Turn off
AIC_USE_DWORDS by default.
1994-08-07 10:51:40 +00:00
mycroft b0db502d9c Remove diagnostic. 1994-08-07 10:49:06 +00:00
mycroft d9a996a92e Add multiplexer for RT 4-port serial cards. 1994-08-07 10:45:53 +00:00
mycroft 70cc90a193 Add rtfps. 1994-08-07 10:43:56 +00:00
mycroft b6e9bf14c8 Simplify the DEPCA memory test, and fix a problem with using the alternate
PROM address.
1994-08-07 00:56:04 +00:00
deraadt ebd23fe5e0 cleanup 1994-08-06 23:19:39 +00:00
mycroft 558c00c001 Fix spelling of `STEREO'. 1994-08-05 22:56:19 +00:00
deraadt cefefb25ca cleanup, working 32 bit IO on the 3c579, and memory alignment of insl/insw
for better performance.
1994-08-05 21:16:33 +00:00
mycroft 74d29b909d Disable most of the Cyrix-specific code by default; just turn off aching of
the ISA hole.
1994-08-03 22:35:02 +00:00
mycroft 3882663a9f Don't mess with Cyrix configuration bits that are hardware-specific. Move
all of the cache-enabling junk into an #ifdef.  Print a warning even if the
cache is enabled.
1994-08-03 22:11:53 +00:00
deraadt ffb9d6e173 document cyrix configuration registers 1994-08-03 21:39:16 +00:00
mycroft 9d7eefb176 Change iosize to 16. 1994-08-03 09:17:12 +00:00
mycroft a17171c0a2 Add a missing splx() and increase the reset delay during probe, as suggested
by Juergen Keil.  Add a diagnostic message if the controller info is not what
we expect.
1994-08-03 08:57:59 +00:00
mycroft 50a6dfb61a Actually, preserve PSL_T for debugging. 1994-08-03 06:28:10 +00:00
mycroft 0cdf874ccb Reset eflags on exec. 1994-08-03 06:26:00 +00:00
mycroft 5cd29a7fce Kill IOPL, dead, dead, dead. 1994-08-03 06:22:26 +00:00
ws 55211b963a Unmount the first dir, too. 1994-08-02 12:27:10 +00:00
mycroft 45b0217c1e Fix up u14_find() a bit; mainly, don't include a DRQ for the 34f. 1994-07-31 19:21:40 +00:00
mycroft a00c5fdb91 Add some missing newlines in the attach messages. 1994-07-31 18:25:50 +00:00
mycroft 8a9df6389d Bug fixes from Mark Weaver. 1994-07-31 11:34:38 +00:00
mycroft fc66b93a38 Fix for Cirrus Logic 542x boards, from Onno van der Linden. 1994-07-31 09:44:50 +00:00
mycroft 01d7a6c28b 0 --> NODEV 1994-07-31 04:59:36 +00:00
mycroft 6990b98c64 Patch from Onno var der Linden to fix reading and writing of 360K floppies
in 1.2MB drives.
1994-07-31 01:20:52 +00:00
mycroft 3436a4a65b Remove DIOCSDINFO completely; disklabel(8) will deal. 1994-07-31 00:47:52 +00:00
mycroft 1d2563f804 Use `swap generic'. 1994-07-29 01:16:35 +00:00
mycroft 3ed3679b67 Make this work. 1994-07-28 21:40:27 +00:00
mycroft 53f3b61cdc Redux. 1994-07-28 19:57:31 +00:00
mycroft c405e84a24 port --> iobase 1994-07-28 09:50:33 +00:00
mycroft d02e11d543 Make the EISA reset code like the other drivers. 1994-07-28 08:44:47 +00:00
mycroft fb500c4d07 Redo some of the EISA config stuff. 1994-07-28 02:39:21 +00:00
mycroft c1a5741a3b Remove unused macros. 1994-07-27 15:02:59 +00:00
mycroft aeac43f556 Use the automatic IRQ/DRQ detection. 1994-07-27 14:46:34 +00:00
mycroft 5e04cfb942 Fix typo. 1994-07-27 13:24:17 +00:00
mycroft 4ac4810048 Normalize. 1994-07-27 13:14:14 +00:00
mycroft 1939acdbd2 Fix the DMA setup. 1994-07-27 13:10:33 +00:00
mycroft 1a9c6d05a3 Enable IRQ probing, and fix the DMA setup. 1994-07-27 12:57:02 +00:00
mycroft dffcd8ea8d Enable IRQ probing. 1994-07-27 03:09:21 +00:00
mycroft 16878bf2f9 Enable IRQ probing. 1994-07-27 01:50:57 +00:00
mycroft 35b4db3030 Add IRQUNK. 1994-07-27 01:50:15 +00:00
mycroft 55be0e4936 Don't lose if the symbol table is empty. 1994-07-27 01:48:29 +00:00
mycroft 3ba1d35da1 Fix a bogon that crept in when swdevt was changed to end with NODEV. Also
change to use MAXPARTITIONS.
1994-07-27 00:21:16 +00:00
mycroft 1e24ff6b3b Don't modify the device number; let the driver do it. 1994-07-26 19:37:00 +00:00
mycroft b5ce4d0cdd Normalize label handling. 1994-07-26 19:36:06 +00:00
mycroft 233b5d12f4 Make sure this runs on a 386. 1994-07-26 19:33:49 +00:00
mycroft a18c0c0d83 Look for errors in the right place in a transmit descriptor, and count
collisions.
1994-07-25 22:54:58 +00:00
mycroft 220a5a5095 Add missing splbio()s, pointed out by Gene Stark. 1994-07-25 04:29:56 +00:00
mycroft 8328e78454 Don't allow the clock chip to be reset if the time hasn't been initialized. 1994-07-25 00:19:47 +00:00
mycroft 45f83d31c4 Make this compile with GCC 2.6. 1994-07-22 22:26:12 +00:00
mycroft 5dcf8d2fa5 Change a btrl to btl. The use of btrl is no longer necessary. 1994-07-22 07:52:50 +00:00
mycroft 1c46c460ee Return EINVAL if the requested transfer size is weird. 1994-07-21 23:44:16 +00:00
mycroft f9a027fa33 Update version number. 1994-07-21 20:34:13 +00:00
mycroft 1dda4b8dab Old fs compat. 1994-07-21 20:25:17 +00:00
mycroft 285ed388fb Give a better diagnostic message for the previous. 1994-07-21 19:05:31 +00:00
mycroft 64232122c2 Make a rather lame attempt to discover bogus directories and not get wedged
in an infinite loop.
1994-07-21 18:06:26 +00:00
mycroft 7fca65c005 Remove something which cannot possibly be correct. 1994-07-21 04:15:05 +00:00
mycroft 37dc11891c Fix a typo. 1994-07-21 03:40:53 +00:00
mycroft 4469aea569 Do the EISA probing a little differently. 1994-07-21 03:30:18 +00:00
deraadt 3013b3fdbc check if eisa card exists before tromping on dma 1994-07-21 02:51:53 +00:00
mycroft 6d61cde9dd Fix handling of null selectors. 1994-07-20 23:01:26 +00:00
cgd 3fbc338a62 define __BIT_TYPES_DEFINED__ for compatibility with things like BIND and nvi 1994-07-20 05:44:19 +00:00
mycroft f2d6bac657 Fix various bugs, from Duncan McEwan and John Kohl. 1994-07-19 05:08:55 +00:00
mycroft 698fdf82c5 Add various and sundry options. 1994-07-18 08:34:59 +00:00
cgd 8ee00127c9 deal properly with 'obj' dirs, when making boot blocks, etc. 1994-07-18 08:03:20 +00:00
mycroft 560cc3b8bb Invert the button logic. (Oops.) 1994-07-18 07:18:57 +00:00
mycroft 10e27106d0 Minor cleanup. 1994-07-17 19:35:32 +00:00
mycroft ee120821cf Updated to match other drivers, and three bugs fixed. 1994-07-17 19:24:40 +00:00
cgd c750222ef4 reenable MSDOSFS 1994-07-16 21:46:44 +00:00
cgd ea3d9333af add MSDOSFS, DIAGNOSTIC, DEBUG 1994-07-16 21:41:11 +00:00
mycroft cc9da7d69f Fix failed probe message. 1994-07-16 13:45:59 +00:00
mycroft e88e13f3bb Fix a bogon relating to >16-bit addresses that I introduced. Fix up BPF
support for received packets.
1994-07-15 21:20:48 +00:00
mycroft 22b754f8e7 Fix disassembly of bit test instructions with an immediate shift count. 1994-07-15 21:11:34 +00:00
mycroft 551f7bc780 Since we're no longer using xchg instructions, there's no reason to prefer
a q reg over and other.  Also, fix some types in the case of _POSIX_SOURCE.
1994-07-15 21:10:21 +00:00
mycroft db0e00db86 Clean up a bit. 1994-07-10 17:53:12 +00:00