|
@@ -712,6 +712,24 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
|
|
|
use_gbpages = direct_gbpages;
|
|
|
#endif
|
|
|
|
|
|
+#ifdef CONFIG_X86_32
|
|
|
+#ifdef CONFIG_X86_PAE
|
|
|
+ set_nx();
|
|
|
+ if (nx_enabled)
|
|
|
+ printk(KERN_INFO "NX (Execute Disable) protection: active\n");
|
|
|
+#endif
|
|
|
+
|
|
|
+ /* Enable PSE if available */
|
|
|
+ if (cpu_has_pse)
|
|
|
+ set_in_cr4(X86_CR4_PSE);
|
|
|
+
|
|
|
+ /* Enable PGE if available */
|
|
|
+ if (cpu_has_pge) {
|
|
|
+ set_in_cr4(X86_CR4_PGE);
|
|
|
+ __supported_pte_mask |= _PAGE_GLOBAL;
|
|
|
+ }
|
|
|
+#endif
|
|
|
+
|
|
|
if (use_gbpages)
|
|
|
page_size_mask |= 1 << PG_LEVEL_1G;
|
|
|
if (use_pse)
|