aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/ip_output.c
diff options
context:
space:
mode:
authorJoseph Koshy <jkoshy@FreeBSD.org>2009-02-03 09:01:45 +0000
committerJoseph Koshy <jkoshy@FreeBSD.org>2009-02-03 09:01:45 +0000
commitbb471e331576bef62eb71ad5fe629aea05d10559 (patch)
tree96d3c14bf47c0873cb0d0904e26b1d0974eb9ee6 /sys/netinet/ip_output.c
parent2c204a16314db5f3e7b100139a8dfd7deb4e2bd0 (diff)
downloadsrc-bb471e331576bef62eb71ad5fe629aea05d10559.tar.gz
src-bb471e331576bef62eb71ad5fe629aea05d10559.zip
Improve robustness of NMI handling, for NMIs recognized in kernel
mode. - Make the NMI handler run on its own stack (TSS_IST2). - Store the GSBASE value for each CPU just before the start of each NMI stack, permitting efficient retrieval using %rsp-relative addressing. - For NMIs taken from kernel mode, program MSR_GSBASE explicitly since one or both of MSR_GSBASE and MSR_KGSBASE can be potentially invalid. The current contents of MSR_GSBASE are saved and restored at exit. - For NMIs handled from user mode, continue to use 'swapgs' to load the per-CPU GSBASE. Reviewed by: jeff Debugging help: jeff Tested by: gnn, Artem Belevich <artemb at gmail dot com>
Notes
Notes: svn path=/head/; revision=188065
Diffstat (limited to 'sys/netinet/ip_output.c')
0 files changed, 0 insertions, 0 deletions