aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-10-27 19:54:19 -0400
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-10-27 19:54:19 -0400
commit973df35ed9ff7806403e793a2ad7e9bd4c2fd2a9 (patch)
treecba250b11a7f732906b1142e5a03f81e6fd6f186 /arch/x86/xen
parent964fe080d94db82a3268443e9b9ece4c60246414 (diff)
xen: set up mmu_ops before trying to set any ptes
xen_setup_stackprotector() ends up trying to set page protections, so we need to have vm_mmu_ops set up before trying to do so. Failing to do so causes an early boot crash. [ Impact: Fix early crash under Xen. ] Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Diffstat (limited to 'arch/x86/xen')
-rw-r--r--arch/x86/xen/enlighten.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 3439616d69f1..23a4d80fb39e 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1075,6 +1075,8 @@ asmlinkage void __init xen_start_kernel(void)
1075 * Set up some pagetable state before starting to set any ptes. 1075 * Set up some pagetable state before starting to set any ptes.
1076 */ 1076 */
1077 1077
1078 xen_init_mmu_ops();
1079
1078 /* Prevent unwanted bits from being set in PTEs. */ 1080 /* Prevent unwanted bits from being set in PTEs. */
1079 __supported_pte_mask &= ~_PAGE_GLOBAL; 1081 __supported_pte_mask &= ~_PAGE_GLOBAL;
1080 if (!xen_initial_domain()) 1082 if (!xen_initial_domain())
@@ -1099,7 +1101,6 @@ asmlinkage void __init xen_start_kernel(void)
1099 */ 1101 */
1100 xen_setup_stackprotector(); 1102 xen_setup_stackprotector();
1101 1103
1102 xen_init_mmu_ops();
1103 xen_init_irq_ops(); 1104 xen_init_irq_ops();
1104 xen_init_cpuid_mask(); 1105 xen_init_cpuid_mask();
1105 1106