]> git.neil.brown.name Git - history.git/commit
Use a fixed per-cpu SYSENTER_MSR_ESP value by having the sysenter
authorLinus Torvalds <torvalds@home.transmeta.com>
Mon, 10 Mar 2003 06:41:27 +0000 (22:41 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Mon, 10 Mar 2003 06:41:27 +0000 (22:41 -0800)
commite3db48525a4d5d49c5297e30571d4bd94b73c828
treeef07941bbf6d8693a2fe9159d1a65401b9f13363
parentf58a69aa7abce687ea92b3ebcd0cc68156a3dae5
Use a fixed per-cpu SYSENTER_MSR_ESP value by having the sysenter
entry routine load the real ESP0 off that per-cpu stack. Make this
even faster by putting the sysenter stack in the per-CPU TSS, so
that we can use the tss->esp0 value directly (which we have to
update on task switches anyway).

CAREFUL! This needs very subtle code for debug and NMI exceptions,
to make sure we don't run with the sysenter stack in any real kernel
code!
arch/i386/kernel/entry.S
arch/i386/kernel/sysenter.c
include/asm-i386/processor.h