The following commit has been merged in the linux branch: commit 973df35ed9ff7806403e793a2ad7e9bd4c2fd2a9 Author: Jeremy Fitzhardinge jeremy.fitzhardinge@citrix.com Date: Tue Oct 27 16:54:19 2009 -0700
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
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 3439616..23a4d80 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -1075,6 +1075,8 @@ asmlinkage void __init xen_start_kernel(void) * Set up some pagetable state before starting to set any ptes. */
+ xen_init_mmu_ops(); + /* Prevent unwanted bits from being set in PTEs. */ __supported_pte_mask &= ~_PAGE_GLOBAL; if (!xen_initial_domain()) @@ -1099,7 +1101,6 @@ asmlinkage void __init xen_start_kernel(void) */ xen_setup_stackprotector();
- xen_init_mmu_ops(); xen_init_irq_ops(); xen_init_cpuid_mask();