freebsd-nq/sys/amd64
Joseph Koshy 7ef5ed2bb1 - Special-case NMI handling on the AMD64.
On entry or exit from the kernel the 'alltraps' and 'doreti' code
  used taken by normal traps disables interrupts to protect the
  critical sections where it is setting up %gs.

  This protection is insufficient in the presence of NMIs since NMIs
  can be taken even when the processor has disabled normal interrupts.
  Thus the NMI handler needs to actually read MSR_GBASE on entry to
  the kernel to determine whether a swap of %gs using 'swapgs' is
  needed.  However, reads of MSRs are expensive and integrating this
  check into the 'alltraps'/'doreti' path would penalize normal
  interrupts.

- Teach DDB about the 'nmi_calltrap' symbol.

Reviewed by:	bde, peter (older versions of this change)
2005-08-27 16:03:40 +00:00
..
acpica MFi386: use the lapic timer for UP systems that are using the apic so that 2005-04-15 18:44:53 +00:00
amd64 - Special-case NMI handling on the AMD64. 2005-08-27 16:03:40 +00:00
compile
conf Add back ed(4) in amd64 GENERIC. It now works nicely and since those 2005-07-24 17:55:57 +00:00
ia32 Jumbo-commit to enhance 32 bit application support on 64 bit kernels. 2005-06-30 07:49:22 +00:00
include Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and rename 2005-08-20 16:44:41 +00:00
isa Fixup some more fallout from the lapic/i8254 changes: 2005-07-13 15:43:21 +00:00
linux32 Move MODULE_DEPEND() statements for SYSVIPC dependencies to linux_ipc.c 2005-07-29 19:40:39 +00:00
pci MFi386: whitespace, copyright header, etc updates 2005-01-21 05:56:41 +00:00
Makefile