freebsd-skq/sys/amd64/include
Konstantin Belousov 6cf9a08d2c 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
_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
_stdint.h
_types.h Translate from the i386. All FP constants and operations are evaluated 2008-01-17 13:12:46 +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 Define an END() macro for use in i386 and amd64 assembly code, akin 2007-08-22 04:26:07 +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
bus.h
clock.h - Implement MI helper functions, dividing one or two timer interrupts with 2010-05-24 11:40:49 +00:00
cpu.h
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
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
float.h Translate from the i386. All FP constants and operations are evaluated 2008-01-17 13:12:46 +00:00
floatingpoint.h
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 Change GDB_BUFSZ to be large enough to hold a register dump where each 2007-02-05 21:48:32 +00:00
ieeefp.h Fix fpset*() to not trap if there is a currently unmasked exception. 2008-01-11 17:11:32 +00:00
in_cksum.h
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 Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
legacyvar.h Companion for r188301: fix the prototypes. 2009-02-08 07:03:34 +00:00
limits.h
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 Remove the unused major/minor numbers from iodev and memdev. 2008-06-25 07:45:31 +00:00
metadata.h A simple rewrite of biossmap.c: 2009-04-15 17:31:22 +00:00
minidump.h
mp_watchdog.h
mptable.h
mutex.h
nexusvar.h Rework how the nexus(4) device works on x86 to better handle the idea of 2008-03-13 20:39:04 +00:00
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 Extend the support for PCI-e memory mapped configuration space access: 2008-08-22 02:14:23 +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
proc.h Reorganize syscall entry and leave handling. 2010-05-23 18:32:02 +00:00
profile.h
psl.h
ptrace.h
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
resource.h
runq.h
segments.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
setjmp.h Remove 3rd clause, renumber, ok per email 2007-01-12 07:26:21 +00:00
sf_buf.h
sigframe.h
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
sysarch.h Remove redundant inclusion of <sys/cdefs.h>. 2010-02-20 14:13:47 +00:00
timerreg.h The "free-lance" timer in the i8254 is only used for the speaker 2008-03-26 20:09:21 +00:00
trap.h
tss.h
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
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