Commit Graph

63 Commits

Author SHA1 Message Date
mycroft
a963fe5864 Store the initial NPX control word appropriate for the emulation in the saved
FPU state, and use it when initializing the FPU on demand.
1998-01-24 13:19:46 +00:00
mycroft
22c1670658 Some rearrangement of the startup code:
* Move some of the memory bootstrapping and the DDB startup earlier.
* Always put the IDT and the initial GDT and LDT in a separate page.
* Various minor changes.
1998-01-23 00:44:02 +00:00
thorpej
36760d9d94 Update for changes to config. 1998-01-12 18:59:04 +00:00
mycroft
37e189d6a8 Need vmmeter.h here now. 1997-10-16 03:22:54 +00:00
christos
bd73314ed9 backout previous kprintf changes 1996-10-13 03:19:38 +00:00
christos
06555645c2 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:24:36 +00:00
mycroft
eda98d375d Use intr.h. 1996-05-12 23:11:54 +00:00
christos
099b45aa2a - Add missing prototypes.
- Fix gcc warnings
1996-05-03 19:14:50 +00:00
cgd
79e0a8a2b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:15:08 +00:00
thorpej
82d914d090 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:26:49 +00:00
mycroft
7f6d0eaf9b Put #includes in the right order. 1996-01-07 02:00:31 +00:00
mycroft
3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
mycroft
25f53a986f Add USERMODE() and KERNELMODE() macros, and use them. 1995-10-10 04:45:03 +00:00
mycroft
f2d15e5b48 Remove unneeded input operands to fnsave(), fnstcw(), and fnstsw(). 1995-10-05 23:06:15 +00:00
mycroft
bc59b73733 Merge npxinit() into npxdna(), and remove duplicated code. 1995-08-06 19:48:58 +00:00
mycroft
b725d8b30b Update the comment describing how this works. 1995-08-06 19:31:49 +00:00
mycroft
ef504e724d Fix oversight in previous. 1995-08-06 18:05:22 +00:00
mycroft
d730fead60 Eliminate direct uses of curproc in npxdna() and npxinit(). 1995-08-06 17:59:10 +00:00
mycroft
a326c49adf Stop using cr0 to flag that the FPU has not been used. 1995-08-06 06:05:28 +00:00
mycroft
ce7cc0c18a Move the `used fpu' flag into mdproc, so it can be referenced when a process
is swapped out.  Implement process_{read,write}_fpregs.
1995-08-06 05:32:59 +00:00
mycroft
0175317fc3 If we decide to use IRQ 13, explicitly turn off CR0_NE to be sure. 1995-05-04 00:30:56 +00:00
mycroft
94f4346537 Update a comment to match that last change. 1995-05-04 00:20:40 +00:00
mycroft
f0a42753e4 npxinit() should not be called during autoconfig now. Watch for this
condition.
1995-05-04 00:16:40 +00:00
mycroft
e03a827a0a Move some comments from before npxsave1() to before npxsave(). 1995-05-04 00:00:25 +00:00
mycroft
bfef4c14c5 Slight rearrangement, to make the TS handling easier to follow. 1995-05-03 23:09:37 +00:00
mycroft
e772f7c5ef Set PCB_USEDFPU. 1995-05-03 00:09:13 +00:00
mycroft
87b25c7f5c Update to match include files. Eliminate _ucodesel, _udatasel, and IdlePTD. 1995-05-01 08:25:30 +00:00
mycroft
17a5f987ba Be more aggressive about lazy saving and initialization. 1995-05-01 04:47:43 +00:00
cgd
8a640328ed clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration.  more work still needs to be done,
but it's getting better...
1995-04-17 12:06:30 +00:00
mycroft
431ccddc77 Remove redundant assignments. 1995-01-26 06:35:42 +00:00
mycroft
133ff42fa2 Introduce a `npx_softc' to make this driver more normal. Some other minor
cleanup.
1995-01-26 06:14:14 +00:00
mycroft
b5cf1b5ddd Add interrupt sharing types. 1995-01-03 01:30:14 +00:00
mycroft
6686f7f263 Rework detection a bit, and check for the Pentium fdiv bug. 1994-11-30 04:42:07 +00:00
mycroft
35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +00:00
mycroft
d254e95680 Garbage collect some variables which are no longer used. 1994-11-07 10:19:28 +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
1ec8f8d19c Make IRQ_SLAVE a plain number, too, and remove IRQ{0-15}. 1994-11-04 19:13:49 +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
d0163400d1 Update to match autoconfig code. 1994-11-03 23:21:24 +00:00
cgd
022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +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
deraadt
e9aa986658 nice little colons 1994-06-28 07:55:25 +00:00
cgd
a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
mycroft
2f66816d8b Rename two files. 1994-04-24 01:34:05 +00:00
mycroft
3f5e4f423f Implement dynamic IRQ configuration and IRQ sharing. Inline spl*() calls.
Reorganize and clean up the relevant code.
1994-04-07 06:48:19 +00:00
mycroft
10466baa67 npxexit() doesn't need its arg. 1994-04-05 17:57:02 +00:00
mycroft
936d23aa7a Don't bother checking npxproc on exit. 1994-04-05 08:02:09 +00:00
mycroft
592ec61b17 Updates for new autoconfig. 1994-03-29 04:35:37 +00:00
mycroft
0c082bcaf8 DELAY() --> delay(). This is not a macro. 1994-03-06 17:18:43 +00:00