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
fvdl
cfe60d7a95
Shuffle order of selectors around to appease syscall/sysret (bah).
2002-05-28 23:07:35 +00:00
fvdl
92f44882b8
rdmsr/wrmsr don't have 64 bit versions, fix the inline functions.
2002-05-28 23:06:28 +00:00
fvdl
5659e1960c
Remove use of pcb_fs and pcb_gs.
2002-05-26 12:19:38 +00:00
fvdl
f6d35976a9
Remove fs and gs fields.
2002-05-26 12:08:49 +00:00
fvdl
1371b7fb28
Don't stuff fs and gs in the PCB, they need to be dealt with in
...
the trapframe.
2002-05-26 12:07:40 +00:00