freebsd-dev/sys/i386/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 - Teach vesa(4) and dpms(4) about x86emu. [1] 2009-09-09 09:50:31 +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 Change float_t and double_t to long double on i386. All floating point 2008-03-05 11:21:14 +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
apm_segments.h
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 Integrate support for xen in to i386 common code. 2008-08-15 20:51:31 +00:00
atomic.h Rename an argument from "exp" to "expect" since the former makes FlexeLint 2010-05-20 06:18:03 +00:00
bootinfo.h Add EFI boot info fields. 2010-04-07 18:52:51 +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 Clean out sysctl machdep.* related defines. 2006-05-11 17:29:25 +00:00
cpufunc.h Quiet variable "shadows" warning: 2010-01-01 20:55:11 +00:00
cputypes.h Introduce cpu_vendor_id and replace a lot of strcmp(cpu_vendor, "..."). 2008-11-26 19:25:13 +00:00
cserial.h
db_machdep.h
elan_mmcr.h
elf.h Define architectural load bases for PIE binaries. Addresses were selected 2009-10-10 15:31:24 +00:00
endian.h Also remove the unused __word_swap_int*() macros. 2009-04-08 19:10:20 +00:00
exec.h
float.h Oops, back out previous commit since it was to the wrong file. 2008-03-05 11:17:20 +00:00
floatingpoint.h
frame.h
gdb_machdep.h
ieeefp.h MFamd64 (everything possible up to 1.19; mainly the amd64 implementations 2008-01-11 18:59:35 +00:00
if_wl_wavelan.h
in_cksum.h Clobber "cc" instead of using volatile; remove obsolete register keyword. 2009-06-13 14:00:10 +00:00
intr_machdep.h Add a facility for associating optional descriptions with active interrupt 2009-10-15 14:54:35 +00:00
ioctl_bt848.h
ioctl_meteor.h
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 strict kobj signatures: fix legacy i386 pcib_write_config impl 2009-06-11 17:06:31 +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 Adapt r204907 and r205402, the amd64 implementation of the workaround for 2010-03-24 03:07:35 +00:00
memdev.h Remove the unused M_MEMDEV from the kernel. 2008-06-25 07:52:10 +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 Move clock_lock prototype into <machine/clock.h>, where it is more 2006-05-19 18:53:50 +00:00
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
npx.h Introduce the x86 kernel interfaces to allow kernel code to use 2010-06-05 15:59:59 +00:00
param.h Add a new sysctl for reporting all of the supported page sizes. 2009-09-18 17:04:57 +00:00
pcaudioio.h
pcb_ext.h
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 MFamd64: Add a new macro PCPU_XEN_FIELDS to hold XEN-specific per-CPU 2010-06-02 15:09:36 +00:00
perfmon.h
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
privatespace.h Test commit after repoman upgrade. Remove one of my many email addresses 2006-05-12 22:38:53 +00:00
proc.h Reorganize syscall entry and leave handling. 2010-05-23 18:32:02 +00:00
profile.h Unbreak cc -pg support on i386. In gcc 4.2, %ecx is used as the arg pointer 2008-07-23 11:37:20 +00:00
psl.h
ptrace.h
reg.h - Add macro constants for the various fields in %dr7 and use them in place 2006-11-17 19:20:32 +00:00
reloc.h
resource.h
runq.h
segments.h Integrate support for xen in to i386 common code. 2008-08-15 20:51:31 +00:00
setjmp.h Remove 3rd clause, renumber, ok per email 2007-01-12 07:26:21 +00:00
sf_buf.h As was done in r195820 for amd64, use clflush for flushing cache lines 2009-07-29 08:49:58 +00:00
sigframe.h
signal.h Sync definitions for struct sigcontext for i386 and amd64 architectures 2009-04-01 13:44:28 +00:00
smapi.h
smp.h * Completely Remove the option STOP_NMI from the kernel. This option 2009-08-13 17:09:45 +00:00
speaker.h
specialreg.h Add support for corrected machine check interrupts. CMCI is a new local 2010-05-24 15:45:05 +00:00
stack.h Break out stack(9) from ddb(4): 2007-12-02 20:40:35 +00:00
stdarg.h Use __builtin_va_start instead of __builtin_stdarg_start. GCC4 obsoletes 2006-09-21 01:37:02 +00:00
sysarch.h
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 GC unused values 2008-10-19 01:23:30 +00:00
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
vm86.h
vm.h Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
vmparam.h Retire VM_PROT_READ_IS_EXEC. It was intended to be a micro-optimization, 2009-04-04 23:12:14 +00:00
xbox.h