freebsd-nq/sys/amd64/include
Joseph Koshy d0d0192f83 Correct a callchain capture bug on the i386.
On the i386 architecture, the processor only saves the current value
of `%esp' on stack if a privilege switch is necessary when entering
the interrupt handler.   Thus, `frame->tf_esp' is only valid for
an entry from user mode.  For interrupts taken in kernel mode, we
need to determine the top-of-stack for the interrupted kernel
procedure by adding the appropriate offset to the current frame
pointer.

Reported by:	kris, Fabien Thomas
Tested by:	Fabien Thomas <fabien.thomas at netasq dot com>
2008-09-15 06:47:52 +00:00
..
pc - Add constants for the different memory types in the SMAP table. 2007-10-28 21:23:49 +00:00
_bus.h Break out the definition of bus_space_{tag,handle}_t and a few other types 2005-04-18 21:45:34 +00:00
_inttypes.h
_limits.h Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and rename 2005-08-20 16:44:41 +00:00
_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 Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
apicreg.h
apicvar.h Handle CPUs with APIC IDs higher than 32 (at least one IBM server uses 2007-05-08 22:01:04 +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 Define an END() macro for use in i386 and amd64 assembly code, akin 2007-08-22 04:26:07 +00:00
atomic.h Implement atomic_fetchadd_long() for all architectures and document it. 2008-03-16 21:20:50 +00:00
bus_dma.h Fix $FreeBSD$. 2005-07-22 04:03:25 +00:00
bus.h Merge/sync with i386: various cosmetic tweaks 2006-03-14 00:01:56 +00:00
clock.h Now that all platforms use genclock, shuffle things around slightly 2008-04-22 19:38:30 +00:00
cpu.h Clean out sysctl machdep.* related defines. 2006-05-11 17:29:25 +00:00
cpufunc.h - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
cputypes.h
db_machdep.h
elf.h PR: 2006-10-04 21:37:10 +00:00
endian.h
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
frame.h Tweak how the MD code calls the fooclock() methods some. Instead of 2005-12-22 22:16:09 +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 preliminary support for binding interrupts to CPUs: 2008-03-14 19:41:48 +00:00
iodev.h Remove the unused major/minor numbers from iodev and memdev. 2008-06-25 07:45:31 +00:00
kdb.h Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
legacyvar.h Make the PCI code aware of PCI domains (aka PCI segments) so we can 2007-09-30 11:05:18 +00:00
limits.h
md_var.h Remove extern struct pcpu __pcpu[]; from the header file and 2007-05-19 05:03:59 +00:00
memdev.h Remove the unused major/minor numbers from iodev and memdev. 2008-06-25 07:45:31 +00:00
metadata.h
minidump.h Introduce minidumps. Full physical memory crash dumps are still available 2006-04-21 04:24:50 +00:00
mp_watchdog.h
mptable.h guard function decls with _KERNEL so user code can include this file 2006-03-01 05:59:56 +00:00
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
param.h Enhance pmap_change_attr() with the ability to demote 1GB page mappings. 2008-08-01 04:55:38 +00:00
pcb.h The pcb_gs32p should be per-cpu, not per-thread pointer. This is 2008-09-08 09:59:05 +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 The pcb_gs32p should be per-cpu, not per-thread pointer. This is 2008-09-08 09:59:05 +00:00
pmap.h Make pmap_kenter_attr() static. 2008-08-04 08:04:09 +00:00
pmc_mdep.h Correct a callchain capture bug on the i386. 2008-09-15 06:47:52 +00:00
ppireg.h - Move timerreg.h to <arch>/include and split i8253 specific defines into 2005-05-14 09:10:02 +00:00
proc.h Move GET_STACK_USAGE from MI header to i386/amd64 MD ones. 2008-01-31 08:24:27 +00:00
profile.h In the userland .mcount(): 2006-10-28 13:12:06 +00:00
psl.h
ptrace.h
reg.h Add support for 8 byte hardware watches in long mode. Kernel hardware 2006-11-17 20:27:01 +00:00
reloc.h
resource.h
runq.h
segments.h Fix inconsistencies in the comments. 2008-09-08 08:58:29 +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 Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and rename 2005-08-20 16:44:41 +00:00
smp.h - Remove the old smp cpu topology specification with a new, more flexible 2008-03-02 07:58:42 +00:00
specialreg.h - Add cpuctl(4) pseudo-device driver to provide access to some low-level 2008-08-08 16:26:53 +00:00
stack.h Make preparations for increasing the size of the kernel virtual 2008-06-20 05:22:09 +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 Implement 32-bit compatable fsbase/gsbase methods so that we can run 2005-04-14 16:57:58 +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 MFi386: The SIGFPE macros were moved to signal.h (FPE_INTOVF etc) 2006-03-14 00:01:22 +00:00
tss.h Show that I can actually count. 2005-04-15 18:39:31 +00:00
ucontext.h
varargs.h
vmparam.h Eliminate pmap_growkernel()'s dependence on create_pagetables() preallocating 2008-07-08 22:59:17 +00:00