]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/mm/init_64.c
x86: ifdef 32-bit specific setup in init_memory_mapping()
[linux-2.6-omap-h63xx.git] / arch / x86 / mm / init_64.c
index 151e5ba3441220a3f464dff6d3891dd4cb1d4367..c3c0be5b63737d6b73a1e7b89cba8fffb0465642 100644 (file)
@@ -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)