Commit Graph

32 Commits

Author SHA1 Message Date
christos 75dabe22c7 Use global descriptor 7 for mach traps. Unfortunately this is already
used by apm 16 bit code segments so we cannot have both at the same time.
2001-07-14 02:02:45 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
drochner 8f5c3d689b add GDT segments for pnpbios use 1999-11-12 18:37:29 +00:00
christos 36f308f4cc Add an LDT for Solaris-2.6 syscalls [from Frank] 1998-10-03 18:05:25 +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 cf591e644b Generate dependencies on the VM86 option. 1998-01-15 22:25:52 +00:00
mycroft 6a310175c6 Some general cleanup:
* Call gdt_init() earlier on.
* Don't bother to check for TSS and LDT descriptors in verr_gdt().
* Nuke the sti special case for trace and breakpoint traps.
* Move some variable declarations into more appropriate locations.
1997-11-13 03:16:42 +00:00
jtk 1a1feb3827 change APM to use new almost-generalized BIOS trampoline:
/*
 * void bioscall(int function, struct apmregs *regs):
 * 	call the BIOS interrupt "function" from real mode with
 *	registers as specified in "regs"
 *	(for the flags, though, only these flags are passed to the BIOS;
 *	the remainder come from the flags register at the time of the call:
 *	(PSL_C|PSL_PF|PSL_AF|PSL_Z|PSL_N|PSL_D|PSL_V)
 *
 *	Fills in *regs with registers as returned by BIOS.
 */

Thanks to Charles Hannum for complaining and inspiring me to hack this
together.
1996-09-08 15:43:37 +00:00
jtk b86b695240 add Advanced Power Management driver
Includes bootstrap support from FreeBSD (Tatsumi HOSOKAWA and <ukai>)
1996-08-25 23:38:57 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
mycroft e28d5e9168 Use #pragma only for 2.0 <= GCC < 2.7. 1995-12-20 18:09:24 +00:00
mycroft e09cc4cf9d Use alternate structure packing method added in GCC 2.7. 1995-12-20 17:58:55 +00:00
mycroft 086845d5d3 Move the initialization of proc0's TSS and LDT to the end of cpu_startup(),
and switch to dynamically allocating the TSS.
1995-10-12 17:56:36 +00:00
mycroft 2765bc7b44 Go back to statically allocating the GDT entries for proc0. 1995-10-11 19:32:31 +00:00
mycroft ddbde6d166 Remove reference to dead variable. 1995-10-11 06:24:28 +00:00
mycroft 72805df917 Various changes from John Kohl and me:
Map kernel stacks only at unique addresses.
Use one TSS per process.
Add sysarch calls for modifying IOPL and the I/O permission bitmap.
Add a compacting GDT entry allocator, for TSS and LDT selectors.
Enable modifying %fs and %gs with PT_SETREGS.
Sanitize various bits of code.
1995-10-11 04:19:29 +00:00
mycroft 25f53a986f Add USERMODE() and KERNELMODE() macros, and use them. 1995-10-10 04:45:03 +00:00
mycroft 8096b83664 Eliminate soft segment descriptors; instead use a functional interface for
creating segment descriptors.  Add the duplicate system call gate used by
BSD/OS 2.0 executables.  Prototype setsegment() and setgate(), and fix a bogon
caught by this.
1995-10-09 06:34:11 +00:00
mycroft 6e02c4b647 Add a copy of the user code and data descriptors in the GDT. 1995-05-06 20:30:14 +00:00
mycroft 40b72cc7a2 Wrap NGDT and NLDT in parens. 1995-05-04 05:37:39 +00:00
mycroft 8b51849f9d Make this includable from locore. Remove unused GDT and LDT slots. 1995-05-01 07:37:43 +00:00
mycroft 92e9818c88 Expose idt[] here. 1995-05-01 04:49:51 +00:00
jtc 71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
mycroft 1c5ac2e88c pcb.h requires segments.h now. 1994-11-08 23:09:21 +00:00
mycroft c2191a2ad0 Fully prototype ssdtosd() and sdtossd(). 1994-11-05 03:20:36 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
mycroft c075fee1b2 Clean this up a little. 1994-04-03 18:53:53 +00:00
mycroft 2250fff236 Cleanup and garbage collection; nothing significant. From magnum branch. 1993-12-20 05:25:02 +00:00
brezak b92626678c Cleanup LDT/GDT defines 1993-10-26 15:53:54 +00:00
cgd 30177b538f add rcsids to everything and clean up headers 1993-05-22 07:56:12 +00:00
cgd 5d07e08579 added changes from Steven Reiz <sreiz@aie.nl> (based on
those by Poul-Henning Kamp <phk@data.fls.dk>) to get the kernel
to compile properly when gcc2.* is cc.  (should still work
when gcc1.39 is in use.)
1993-04-03 02:15:18 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00