xen: set _PAGE_NX in __supported_pte_mask before pagetable construction
Some 64-bit machines don't support the NX flag in ptes. Check for NX before constructing the kernel pagetables. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
This commit is contained in:
parent
9a5a2cac9f
commit
bc6081ff98
|
@ -42,6 +42,7 @@
|
|||
#include <asm/xen/hypervisor.h>
|
||||
#include <asm/fixmap.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/proto.h>
|
||||
#include <asm/msr-index.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/desc.h>
|
||||
|
@ -914,7 +915,6 @@ static const struct machine_ops __initdata xen_machine_ops = {
|
|||
.emergency_restart = xen_emergency_restart,
|
||||
};
|
||||
|
||||
|
||||
/* First C function to be called on Xen boot */
|
||||
asmlinkage void __init xen_start_kernel(void)
|
||||
{
|
||||
|
@ -982,6 +982,11 @@ asmlinkage void __init xen_start_kernel(void)
|
|||
if (!xen_initial_domain())
|
||||
__supported_pte_mask &= ~(_PAGE_PWT | _PAGE_PCD);
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
/* Work out if we support NX */
|
||||
check_efer();
|
||||
#endif
|
||||
|
||||
/* Don't do the full vcpu_info placement stuff until we have a
|
||||
possible map and a non-dummy shared_info. */
|
||||
per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0];
|
||||
|
|
Loading…
Reference in New Issue