No need to remove NT during CPU setup head.S already clears EFLAGS completely. Following an i386 patch from Zachary Amsden. Signed-off-by: Andi Kleen Index: linux/arch/x86_64/kernel/setup64.c =================================================================== --- linux.orig/arch/x86_64/kernel/setup64.c +++ linux/arch/x86_64/kernel/setup64.c @@ -223,13 +223,6 @@ void __cpuinit cpu_init (void) asm volatile("lidt %0" :: "m" (idt_descr)); memcpy(me->thread.tls_array, cpu_gdt_table[cpu], GDT_ENTRY_TLS_ENTRIES * 8); - - /* - * Delete NT - */ - - asm volatile("pushfq ; popq %%rax ; btr $14,%%rax ; pushq %%rax ; popfq" ::: "eax"); - syscall_init(); wrmsrl(MSR_FS_BASE, 0);