aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/reboot.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/reboot.c')
-rw-r--r--arch/x86/kernel/reboot.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 54180fa6f66f..add33f600531 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -105,6 +105,10 @@ void __noreturn machine_real_restart(unsigned int type)
105 load_cr3(initial_page_table); 105 load_cr3(initial_page_table);
106#else 106#else
107 write_cr3(real_mode_header->trampoline_pgd); 107 write_cr3(real_mode_header->trampoline_pgd);
108
109 /* Exiting long mode will fail if CR4.PCIDE is set. */
110 if (static_cpu_has(X86_FEATURE_PCID))
111 cr4_clear_bits(X86_CR4_PCIDE);
108#endif 112#endif
109 113
110 /* Jump to the identity-mapped low memory code */ 114 /* Jump to the identity-mapped low memory code */