Commit Graph

134 Commits

Author SHA1 Message Date
thorpej 3912e469dd Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can
be properly used by any misc. cloning device.  While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
2002-07-19 16:38:14 +00:00
fvdl c24cb24f0d Update comment. 2002-07-14 12:30:36 +00:00
fvdl ee925d3924 Consistently handle segment selectors in traps and interrupts. 2002-07-14 12:20:45 +00:00
fvdl e539a84832 Since the return address is now part of struct sigframe, adjust the stack
accordingly to match alignment when copying it out.
2002-07-10 01:55:43 +00:00
fvdl 4ddf293c2e Hand-align the fxsave area to be able to determine its offset in structures
more precisely.
2002-07-10 01:54:00 +00:00
fvdl 728043f0da Add definitions for 32bit sysarch calls. 2002-07-07 23:27:00 +00:00
fvdl c1593a7671 Implement a few 32bit sysarch calls. 2002-07-07 23:25:37 +00:00
fvdl 7cc42e6abb Move struct savefpu outside ifdef _KERNEL for the benefit of userland
code that includes <machine/pcb.h>
2002-07-06 10:43:32 +00:00
fvdl 405b1a8bb6 Add mtrr.c 2002-07-06 10:23:06 +00:00
fvdl 8b6c180747 Previous commit left a piece of old code in that would leak top-level
PTPs; remove it.
2002-07-05 16:52:39 +00:00
thorpej 011d4d5f44 Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the
  sigaction and the trampoline/version.  Version 0 means "legacy kernel
  provided trampoline".  Other versions are coordinated with machine-
  dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
  the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
  trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions.  Instead,
  sendsig() looks up the handler by peeking in the sigacts for the
  process getting the signal (since it has to look in there for the
  trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
  its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later.  Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
fvdl cf9727c9c6 Uncomment x86_64_iopl args. 2002-07-04 10:49:33 +00:00
fvdl 105d80aaa0 The double fault exception doesn't push an error. 2002-07-04 10:47:02 +00:00
fvdl 9fe7e89bfe Use a seperate stack for the double fault trap. 2002-07-04 10:46:21 +00:00
fvdl 860a1c9ae6 Enable the iopl syscall. 2002-07-04 10:44:00 +00:00
fvdl 03068e0f6f Print a little more info for unhandled traps. For the time being,
halt the CPU, don't call panic() (until DDB is done).
2002-07-04 10:42:00 +00:00
fvdl 9ec0782af4 Make this look a little more like -current i386 pmap.c 2002-07-04 10:38:26 +00:00
fvdl 4839f70ff2 Fix parameter passed to init_x86_64. 2002-07-04 10:34:22 +00:00
thorpej e09f5065d0 During signal delivery, arrange to have the signal handler invoked
directly, using the trampoline only for the return path.
2002-06-25 01:24:49 +00:00
fvdl 0b5350133b Add MTRR support. 2002-06-18 08:35:14 +00:00
fvdl 7a777905af Make this compile again. 2002-06-18 08:34:57 +00:00
fvdl ff5489fd50 MTRR includes. 2002-06-18 08:31:42 +00:00
fvdl 4622ad6f14 MTRR support for x86_64. Will be shared with i386 later. 2002-06-18 08:30:33 +00:00
christos 3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
eeh 863fc84f4d Provide the correct architecture for HW_MACHINE_ARCH so things like
"sysctl -p" can tell they are in 32-bit land.
2002-06-14 18:28:19 +00:00
fvdl c7647a1294 Fix up the FP code some, and make it deliver XMM exceptions. Adapt
sigframe a bit.
2002-06-12 19:13:27 +00:00
fvdl a35e1a5e5b Match DIAGNOSTIC spl code in new system call entry. We may return
through the old one in the case of a 32bit exec, causing the check
to fire.
2002-06-07 00:06:21 +00:00
fvdl c0a27f0970 Enable (empty) procfs_machdep.c 2002-06-06 15:58:23 +00:00
simonb 97f56c7642 Don't install <machine/rnd.h>. 2002-06-06 03:30:56 +00:00
fvdl 71f7cef933 Fix arglength passed to ktrsyscall for 32bit calls. 2002-06-05 22:50:08 +00:00
fvdl 39f41c9002 The intr counters are supposed to be long (==> .quad in assembler). 2002-06-05 21:59:32 +00:00
fvdl 1c3269bdc6 Change kmem access check to match the actual kva layout. 2002-06-05 21:58:30 +00:00
fvdl 18c6a6eceb Correct arg passing to ktrsyscall once again (doh). 2002-06-05 20:54:44 +00:00
fvdl 0fc3b521af Move the IDTVEC macro here, mirroring Jason's change for the i386 port. 2002-06-05 19:17:34 +00:00
fvdl b1bff0ba73 Adapt for non-traditional cpp usage. 2002-06-05 19:16:18 +00:00
fvdl 9117c00bad Set output arch to i386:x86-64. From Jason. 2002-06-05 15:06:56 +00:00
fvdl eb3b53295f Don't forget to put the instruction size in tf_err on system call
entry, for the sake of syscall restart.
2002-06-05 14:59:37 +00:00
fvdl e4eac0d964 Fix rdtsc and rdpmc inlines, and fixup rnd.h to do the right thing. 2002-06-04 17:52:46 +00:00
fvdl 9c71037485 Remove all i386 host bridges, as they don't apply. Remove pchb_rndattach
call for now (may be back later).
2002-06-04 17:51:30 +00:00
fvdl 99193cfa98 Woops, pass the correct argsize to ktrsyscall. 2002-06-04 15:45:05 +00:00
fvdl ab19cd2899 Clear P_32 on native exec (from eeh in the sparc64 port). 2002-06-04 15:44:34 +00:00
fvdl c029f886c8 Propagate P_32 flag on fork. Use correct trampoline for 32bit return. 2002-06-04 12:58:13 +00:00
fvdl 2c7bad720d For 32bit execs, frob the stackframe to return via the old system call
return path.
2002-06-04 11:14:21 +00:00
fvdl 90c2a2ddc1 Fix up argument passing to ktr_syscall. 2002-06-04 11:12:18 +00:00
fvdl 01fbe9c413 Drink the swapgs kool-aid.
Enable the use of syscall/sysret as the default system cal entry
point.
2002-06-03 18:23:16 +00:00
fvdl 619aaa1337 Set COPTS to -O by default. 2002-06-03 18:18:43 +00:00
drochner d2b9876081 move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
fvdl cec79c16b4 Include sys/types.h or u_int* 2002-05-30 00:36:42 +00:00
fvdl b16e023917 Enable syscall/sysret insn use. They have the potential to lead to
a faster system call path (but currently won't be much faster).
Signal trampoline to be converted.

Rename eflags -> rflags where appropriate.
2002-05-28 23:11:38 +00:00
fvdl 8b277a3d68 Add definition for CPU-private data (in a remapped page in the data
segment). Somewhat of a kludge to be able to switch stack pointers
in in the syscall entry point without clobering a register, avoiding
the terror of 'swapgs'.
2002-05-28 23:09:36 +00:00