Commit Graph

5587 Commits

Author SHA1 Message Date
deraadt 941871d6ab XXmatch change (and a few __P() as well) 1994-11-23 07:02:02 +00:00
gwr dcca0eee6a New cd_match prototype. 1994-11-23 07:01:01 +00:00
deraadt ef31ebbf26 stack trace on crash 1994-11-23 07:00:00 +00:00
gwr e99ed4c957 New cd_match prototype. 1994-11-23 06:58:36 +00:00
gwr 5b330c7b77 sun_* -> sunos_* 1994-11-23 06:46:25 +00:00
gwr 2f20ff9585 Update to match new d_ioctl prototype. 1994-11-23 06:45:48 +00:00
gwr 6ab4f0b024 sun_* -> sunos_* 1994-11-23 06:40:22 +00:00
gwr 00605f6af8 Update sendsig() to match new prototype. 1994-11-23 05:43:00 +00:00
gwr 4e1ccf9989 Add USPACE 1994-11-23 05:18:16 +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
dean 5eef1840c0 catching up with other changes 1994-11-22 18:59:57 +00:00
dean 907abf89c7 put #ifdef DEBUG around call to debug routines 1994-11-22 18:58:43 +00:00
dean 4deb1cf175 run locore.S and fp.S through cpp 1994-11-22 18:57:25 +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 642eb11a86 Various code rearrangement. 1994-11-22 01:31:02 +00:00
mycroft dcb90851c2 Minor change. 1994-11-22 01:21:11 +00:00
mycroft 0f0f9950f2 This file is *way* out of date. Remove some of the old comments. 1994-11-22 01:14:37 +00:00
mycroft 284d17e8f0 Complete last change. 1994-11-22 00:14:24 +00:00
deraadt 0c36dd6762 C botch repair from bostic 1994-11-22 00:05:36 +00:00
mycroft 2c274e6ac8 Clean up deleted files. 1994-11-21 23:32:58 +00:00
gwr 80420e1f71 Lots of changes. Fairly stable now. 1994-11-21 21:38:16 +00:00
gwr 59bf96aa56 Lots of changes. Fairly stable now. 1994-11-21 21:26:40 +00:00
mycroft c81c637ee3 Return EIO when the drive is empty. 1994-11-21 11:37:26 +00:00
mycroft 7a1dcbfac6 Clean up open and close routines somewhat. 1994-11-21 11:28:47 +00:00
mycroft fd32202948 Replace dev_unit with device_softc in scsi_link. Change argument to foostart()
to void*.
1994-11-21 10:39:09 +00:00
deraadt d3408abf29 C error 1994-11-21 01:56:38 +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
deraadt 52bf7567d8 new syscalls 1994-11-20 21:31:32 +00:00
deraadt 5677e59c0a ptrace from chs+@CS.cmu.edu, poll from christos 1994-11-20 21:31:10 +00:00
deraadt 7eb1e52253 sunos ptrace & poll emulation 1994-11-20 21:30:03 +00:00
deraadt 2e57b94fb7 improve VMIN/VTIME emulation (from chs+@CS.cmu.edu) 1994-11-20 21:29:33 +00:00
deraadt 274a90762d copyright/Id cleanup 1994-11-20 20:51:32 +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 153d76736d syscalls.master was changed; added a couple of new header files. 1994-11-18 02:56:09 +00:00
christos 2859b1c634 Rework streams emulation so that it does not rely on non portable hacks.
We keep streams state in so->so_ptcb; this field is unused in all the kernel.
Fix poll(2) timeout computation; add hrtsys and waitsys syscalls.
1994-11-18 02:53:37 +00:00
christos 70e6f7edb8 Don't VOP_UNLOCK the vnode on a cloning operation. vput() will do it for
us.
1994-11-18 02:48:58 +00:00
christos 6ffe559acb Added ifdef COMPAT_SVR4 to enable the emulation code. 1994-11-17 20:35:37 +00:00
christos 3e935d8a0d Added ifdef COMPAT_SVR4 to the kernel compat code needed. 1994-11-17 20:27:10 +00:00
mycroft a4aea8ad25 Round struct lfs to 512 bytes. 1994-11-17 16:58:41 +00:00
gwr 2bad33d88e Implements db_write_bytes() for the sun3.
(Needed now that kernel text is read-only 8-)
1994-11-17 05:08:55 +00:00
gwr 81839ca1f7 The sun3 needs its own version of db_write_bytes() so just
added #ifndef sun3 around it for now.  This function should
probably be provided by each port (like sun3/db_write.c).
1994-11-17 05:04:35 +00:00
gwr df82cd38bb Make x/a print the address; simplify slightly. 1994-11-17 04:51:50 +00:00
christos fc8e694056 Fixed error svr4 error code mapping; my old attempt was a noop. 1994-11-16 20:14:42 +00:00
deraadt 38483bbbf0 Enough Chinese torture already 1994-11-15 23:00:23 +00:00
dean e7558eafd1 put #ifdef KERNEL around CLK_TCK define 1994-11-15 19:00:49 +00:00
dean 393ee3693c Surrounded call to debug routine with #ifdef DEBUG 1994-11-15 18:59:40 +00:00
mycroft 578e1d6f3a Add PROT_NONE, for Sun source code compatibility. 1994-11-15 04:32:23 +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
dean 705ee976cf Prepended underscores 1994-11-14 23:48:58 +00:00
mycroft e91e570cfd Shorten the Cyrix handling code a little. 1994-11-14 23:35:48 +00:00
dean add2031dcf Prepended underscores 1994-11-14 23:33:46 +00:00
gwr 2e0e96ea27 Fix disassembly of 8-bit branch displacements (sign extend).
Fix invalid array references disassembling float instructions.
Make the system stack pointer visible in show regs.
Make "sr" a proper short, remove some junk...
1994-11-14 20:53:52 +00:00
gwr 21a1e8e747 When use default form when printing location (i.e. after step).
Use less space printing longs (so you can fit four per line).
1994-11-14 20:40:04 +00:00
mycroft 423bfa0764 Garbage collect unused variable. 1994-11-14 08:53:06 +00:00
deraadt b56463b6db syscalls.master changed 1994-11-14 07:34:26 +00:00
deraadt de1d09dd2a fix sunos_mmap 1994-11-14 07:33:48 +00:00
christos 0d5c2ddb90 new files 1994-11-14 06:13:11 +00:00
christos 25ef6e1436 More functionality and bug fixes 1994-11-14 06:10:37 +00:00
deraadt 3dd85af7b5 fixed rss code by charles 1994-11-14 06:09:19 +00:00
christos a1dbf4aaa5 fixed struct comment 1994-11-14 06:08:21 +00:00
christos 923c9743a2 fixed struct comment; passed extra argument (struct file *) to open 1994-11-14 06:07:45 +00:00
christos 8cdc99a059 fixed struct comment 1994-11-14 06:04:31 +00:00
christos 1b76292bf9 added extra argument to vn_open 1994-11-14 06:02:03 +00:00
christos 1a320dc9be added extra argument in vn_open and VOP_OPEN to allow cloning devices 1994-11-14 06:01:16 +00:00
christos c2c3dce760 added extra argument to vn_open 1994-11-14 06:00:10 +00:00
christos 40abc70ce2 changed open prototype 1994-11-14 05:55:23 +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
deraadt e19990c090 make ldcontrolb() use p->p_addr instead of cpcb for the onfault, also
save current onfault value and act at splhigh.
1994-11-14 04:16:12 +00:00
deraadt 3eb863ca4e cache: write-throough/back, and 4/100 has no cache 1994-11-13 22:12:44 +00:00
mycroft 1c5ac2e88c pcb.h requires segments.h now. 1994-11-08 23:09:21 +00:00
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
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 9fdc2ecb99 Export struct matchinfo and mapply(). 1994-11-04 03:12:20 +00:00
mycroft 52a27c59d6 Calculate indirectness earlier, and stor it in the struct matchinfo. 1994-11-04 03:07:17 +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