summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/verify_cpu.S
diff options
context:
space:
mode:
authorKees Cook <kees.cook@canonical.com>2010-11-10 19:35:53 +0100
committerH. Peter Anvin <hpa@linux.intel.com>2010-11-11 00:43:09 +0100
commitebba638ae723d8a8fc2f7abce5ec18b688b791d7 (patch)
tree774eebadd4ca78e988e8ad029bca0d5e0e43f81c /arch/x86/kernel/verify_cpu.S
parentx86, cpu: Clear XD_DISABLED flag on Intel to regain NX (diff)
downloadlinux-ebba638ae723d8a8fc2f7abce5ec18b688b791d7.tar.xz
linux-ebba638ae723d8a8fc2f7abce5ec18b688b791d7.zip
x86, cpu: Call verify_cpu during 32bit CPU startup
The XD_DISABLE-clearing side-effect needs to happen for both 32bit and 64bit, but the 32bit init routines were not calling verify_cpu() yet. This adds that call to gain the side-effect. The longmode/SSE tests being performed in verify_cpu() need to happen very early for 64bit but not for 32bit. Instead of including it in two places for 32bit, we can just include it once in arch/x86/kernel/head_32.S. Signed-off-by: Kees Cook <kees.cook@canonical.com> LKML-Reference: <1289414154-7829-4-git-send-email-kees.cook@canonical.com> Acked-by: Pekka Enberg <penberg@kernel.org> Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/verify_cpu.S')
-rw-r--r--arch/x86/kernel/verify_cpu.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kernel/verify_cpu.S b/arch/x86/kernel/verify_cpu.S
index ccb4136da0aa..5644b4b7ed28 100644
--- a/arch/x86/kernel/verify_cpu.S
+++ b/arch/x86/kernel/verify_cpu.S
@@ -19,6 +19,7 @@
*
* arch/x86_64/boot/compressed/head_64.S: Boot cpu verification
* arch/x86_64/kernel/trampoline_64.S: secondary processor verfication
+ * arch/x86_64/kernel/head_32.S: processor startup
*
* verify_cpu, returns the status of longmode and SSE in register %eax.
* 0: Success 1: Failure