Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c673f1a9 authored by William Lee Irwin III's avatar William Lee Irwin III Committed by Linus Torvalds
Browse files

i386: divorce CONFIG_X86_PAE from CONFIG_HIGHMEM64G



PAE is useful for more than supporting more than 4GB RAM.  It supports
expanded swapspace and NX executable protections.  Some users may want NX
or expanded swapspace support without the overhead or instability of
highmem.  For these reasons, the following patch divorces CONFIG_X86_PAE
from CONFIG_HIGHMEM64G.

Cc: Mark Lord <lkml@rtr.ca>
Signed-off-by: default avatarWilliam Irwin <wli@holomorphy.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 075bcd1f
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -548,6 +548,7 @@ config HIGHMEM4G
config HIGHMEM64G
	bool "64GB"
	depends on !M386 && !M486
	select X86_PAE
	help
	  Select this if you have a 32-bit processor and more than 4
	  gigabytes of physical RAM.
@@ -577,12 +578,12 @@ choice
	config VMSPLIT_3G
		bool "3G/1G user/kernel split"
	config VMSPLIT_3G_OPT
		depends on !HIGHMEM
		depends on !X86_PAE
		bool "3G/1G user/kernel split (for full 1G low memory)"
	config VMSPLIT_2G
		bool "2G/2G user/kernel split"
	config VMSPLIT_2G_OPT
		depends on !HIGHMEM
		depends on !X86_PAE
		bool "2G/2G user/kernel split (for full 2G low memory)"
	config VMSPLIT_1G
		bool "1G/3G user/kernel split"
@@ -602,10 +603,15 @@ config HIGHMEM
	default y

config X86_PAE
	bool
	depends on HIGHMEM64G
	default y
	bool "PAE (Physical Address Extension) Support"
	default n
	depends on !HIGHMEM4G
	select RESOURCES_64BIT
	help
	  PAE is required for NX support, and furthermore enables
	  larger swapspace support for non-overcommit purposes. It
	  has the cost of more pagetable lookup overhead, and also
	  consumes more pagetable space per process.

# Common NUMA Features
config NUMA
+4 −4
Original line number Diff line number Diff line
@@ -273,18 +273,18 @@ unsigned long __init find_max_low_pfn(void)
		printk(KERN_WARNING "Warning only %ldMB will be used.\n",
					MAXMEM>>20);
		if (max_pfn > MAX_NONPAE_PFN)
			printk(KERN_WARNING "Use a PAE enabled kernel.\n");
			printk(KERN_WARNING "Use a HIGHMEM64G enabled kernel.\n");
		else
			printk(KERN_WARNING "Use a HIGHMEM enabled kernel.\n");
		max_pfn = MAXMEM_PFN;
#else /* !CONFIG_HIGHMEM */
#ifndef CONFIG_X86_PAE
#ifndef CONFIG_HIGHMEM64G
		if (max_pfn > MAX_NONPAE_PFN) {
			max_pfn = MAX_NONPAE_PFN;
			printk(KERN_WARNING "Warning only 4GB will be used.\n");
			printk(KERN_WARNING "Use a PAE enabled kernel.\n");
			printk(KERN_WARNING "Use a HIGHMEM64G enabled kernel.\n");
		}
#endif /* !CONFIG_X86_PAE */
#endif /* !CONFIG_HIGHMEM64G */
#endif /* !CONFIG_HIGHMEM */
	} else {
		if (highmem_pages == -1)