diff options
Diffstat (limited to 'arch/x86/mm')
-rw-r--r-- | arch/x86/mm/init.c | 4 | ||||
-rw-r--r-- | arch/x86/mm/setup_nx.c | 22 |
2 files changed, 22 insertions, 4 deletions
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index 27ec2c23fd4..d406c523901 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c | |||
@@ -146,10 +146,6 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, | |||
146 | use_gbpages = direct_gbpages; | 146 | use_gbpages = direct_gbpages; |
147 | #endif | 147 | #endif |
148 | 148 | ||
149 | /* XXX: replace this with Kees' improved messages */ | ||
150 | if (__supported_pte_mask & _PAGE_NX) | ||
151 | printk(KERN_INFO "NX (Execute Disable) protection: active\n"); | ||
152 | |||
153 | /* Enable PSE if available */ | 149 | /* Enable PSE if available */ |
154 | if (cpu_has_pse) | 150 | if (cpu_has_pse) |
155 | set_in_cr4(X86_CR4_PSE); | 151 | set_in_cr4(X86_CR4_PSE); |
diff --git a/arch/x86/mm/setup_nx.c b/arch/x86/mm/setup_nx.c index 355818b087b..a3250aa3408 100644 --- a/arch/x86/mm/setup_nx.c +++ b/arch/x86/mm/setup_nx.c | |||
@@ -36,3 +36,25 @@ void __cpuinit x86_configure_nx(void) | |||
36 | else | 36 | else |
37 | __supported_pte_mask &= ~_PAGE_NX; | 37 | __supported_pte_mask &= ~_PAGE_NX; |
38 | } | 38 | } |
39 | |||
40 | void __init x86_report_nx(void) | ||
41 | { | ||
42 | if (!cpu_has_nx) { | ||
43 | printk(KERN_NOTICE "Notice: NX (Execute Disable) protection " | ||
44 | "missing in CPU or disabled in BIOS!\n"); | ||
45 | } else { | ||
46 | #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) | ||
47 | if (disable_nx) { | ||
48 | printk(KERN_INFO "NX (Execute Disable) protection: " | ||
49 | "disabled by kernel command line option\n"); | ||
50 | } else { | ||
51 | printk(KERN_INFO "NX (Execute Disable) protection: " | ||
52 | "active\n"); | ||
53 | } | ||
54 | #else | ||
55 | /* 32bit non-PAE kernel, NX cannot be used */ | ||
56 | printk(KERN_NOTICE "Notice: NX (Execute Disable) protection " | ||
57 | "cannot be enabled: non-PAE kernel!\n"); | ||
58 | #endif | ||
59 | } | ||
60 | } | ||