freebsd-skq/sys/amd64/include
kib 2d77212fe4 Introduce the x86 kernel interfaces to allow kernel code to use
FPU/SSE hardware. Caller should provide a save area that is chained
into the stack of the areas; pcb save_area for usermode FPU state is
on top. The pcb now contains a pointer to the current FPU saved area,
used during FPUDNA handling and context switches.  There is also a
facility to allow the kernel thread to use pcb save_area.

Change the dreaded warnings "npxdna in kernel mode!" into the panics
when FPU usage is not registered.

KPI discussed with:	fabient
Tested by:    pho, fabient
Hardware provided by:	Sentex Communications
MFC after:    1 month
2010-06-05 15:59:59 +00:00
..
pc A simple rewrite of biossmap.c: 2009-04-15 17:31:22 +00:00
xen Switch to our preferred 2-clause BSD license. 2010-05-05 20:39:02 +00:00
_align.h Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating an 2009-09-08 20:45:40 +00:00
_bus.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
_inttypes.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-03 17:55:51 +00:00
_limits.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
_stdint.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
_types.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
acpica_machdep.h Extract the code to find and map the MADT ACPI table during early kernel 2009-09-23 15:42:35 +00:00
apicreg.h Add support for corrected machine check interrupts. CMCI is a new local 2010-05-24 15:45:05 +00:00
apicvar.h Add support for corrected machine check interrupts. CMCI is a new local 2010-05-24 15:45:05 +00:00
apm_bios.h Copy apm(4) emulation from sys/i386/acpica/acpi_machdep.c and 2009-09-27 14:00:16 +00:00
asm.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
asmacros.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
atomic.h Rename an argument from "exp" to "expect" since the former makes FlexeLint 2010-05-20 06:18:03 +00:00
bus_dma.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
bus.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
clock.h - Implement MI helper functions, dividing one or two timer interrupts with 2010-05-24 11:40:49 +00:00
cpu.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
cpufunc.h Quiet variable "shadows" warning: 2010-01-01 20:55:11 +00:00
cputypes.h Add Centaur/IDT/VIA vendor ID for Nano family, which has long mode support. 2009-01-05 21:51:49 +00:00
db_machdep.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
elf.h Provide groundwork for 32-bit binary compatibility on non-x86 platforms, 2010-03-11 14:49:06 +00:00
endian.h Also remove the unused __word_swap_int*() macros. 2009-04-08 19:10:20 +00:00
exec.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
float.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
floatingpoint.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
fpu.h Introduce the x86 kernel interfaces to allow kernel code to use 2010-06-05 15:59:59 +00:00
frame.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
gdb_machdep.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
ieeefp.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
in_cksum.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
intr_machdep.h Add a facility for associating optional descriptions with active interrupt 2009-10-15 14:54:35 +00:00
iodev.h - Extract the IODEV_PIO interface from ia64 and make it MI. 2010-04-28 15:38:01 +00:00
kdb.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
legacyvar.h Companion for r188301: fix the prototypes. 2009-02-08 07:03:34 +00:00
limits.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
mca.h Add support for corrected machine check interrupts. CMCI is a new local 2010-05-24 15:45:05 +00:00
md_var.h Handle a case when non-canonical address is loaded into the fsbase or 2010-04-10 18:38:11 +00:00
memdev.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
metadata.h A simple rewrite of biossmap.c: 2009-04-15 17:31:22 +00:00
minidump.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
mp_watchdog.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
mptable.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
mutex.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
nexusvar.h
param.h Uppercase the UL suffix on a constant, so Flexelint doesn't worry that 2009-11-16 10:53:04 +00:00
pcb.h Introduce the x86 kernel interfaces to allow kernel code to use 2010-06-05 15:59:59 +00:00
pci_cfgreg.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
pcpu.h Add support for corrected machine check interrupts. CMCI is a new local 2010-05-24 15:45:05 +00:00
pmap.h On Alan's advice, rather than do a wholesale conversion on a single 2010-04-30 00:46:43 +00:00
pmc_mdep.h - Support for uncore counting events: one fixed PMC with the uncore 2010-04-02 13:23:49 +00:00
ppireg.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
proc.h Reorganize syscall entry and leave handling. 2010-05-23 18:32:02 +00:00
profile.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
psl.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
ptrace.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
reg.h Cosmetic tweak to use a type suffix instead of a cast to force a constant 2010-03-29 18:47:04 +00:00
reloc.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
resource.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
runq.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
segments.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
setjmp.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
sf_buf.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
sigframe.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
signal.h Sync definitions for struct sigcontext for i386 and amd64 architectures 2009-04-01 13:44:28 +00:00
smp.h * Completely Remove the option STOP_NMI from the kernel. This option 2009-08-13 17:09:45 +00:00
specialreg.h Add support for corrected machine check interrupts. CMCI is a new local 2010-05-24 15:45:05 +00:00
stack.h Make preparations for increasing the size of the kernel virtual 2008-06-20 05:22:09 +00:00
stdarg.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
sysarch.h Remove redundant inclusion of <sys/cdefs.h>. 2010-02-20 14:13:47 +00:00
timerreg.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
trap.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
tss.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
ucontext.h Add all segment registers for the amd64 CPU to struct reg and mcontext. 2009-04-01 12:44:17 +00:00
varargs.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
vm.h Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
vmparam.h On Alan's advice, rather than do a wholesale conversion on a single 2010-04-30 00:46:43 +00:00