diff options
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/e820.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index a5383ae2cbe3..28c29180b380 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c | |||
@@ -1049,11 +1049,6 @@ u64 __init early_reserve_e820(u64 startt, u64 sizet, u64 align) | |||
1049 | #endif | 1049 | #endif |
1050 | 1050 | ||
1051 | /* | 1051 | /* |
1052 | * Last pfn which the user wants to use. | ||
1053 | */ | ||
1054 | unsigned long __initdata end_user_pfn = MAX_ARCH_PFN; | ||
1055 | |||
1056 | /* | ||
1057 | * Find the highest page frame number we have available | 1052 | * Find the highest page frame number we have available |
1058 | */ | 1053 | */ |
1059 | static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type) | 1054 | static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type) |
@@ -1085,8 +1080,6 @@ static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type) | |||
1085 | 1080 | ||
1086 | if (last_pfn > max_arch_pfn) | 1081 | if (last_pfn > max_arch_pfn) |
1087 | last_pfn = max_arch_pfn; | 1082 | last_pfn = max_arch_pfn; |
1088 | if (last_pfn > end_user_pfn) | ||
1089 | last_pfn = end_user_pfn; | ||
1090 | 1083 | ||
1091 | printk(KERN_INFO "last_pfn = %#lx max_arch_pfn = %#lx\n", | 1084 | printk(KERN_INFO "last_pfn = %#lx max_arch_pfn = %#lx\n", |
1092 | last_pfn, max_arch_pfn); | 1085 | last_pfn, max_arch_pfn); |
@@ -1131,12 +1124,6 @@ int __init e820_find_active_region(const struct e820entry *ei, | |||
1131 | if (*ei_endpfn > last_pfn) | 1124 | if (*ei_endpfn > last_pfn) |
1132 | *ei_endpfn = last_pfn; | 1125 | *ei_endpfn = last_pfn; |
1133 | 1126 | ||
1134 | /* Obey end_user_pfn to save on memmap */ | ||
1135 | if (*ei_startpfn >= end_user_pfn) | ||
1136 | return 0; | ||
1137 | if (*ei_endpfn > end_user_pfn) | ||
1138 | *ei_endpfn = end_user_pfn; | ||
1139 | |||
1140 | return 1; | 1127 | return 1; |
1141 | } | 1128 | } |
1142 | 1129 | ||
@@ -1201,7 +1188,6 @@ static int __init parse_memopt(char *p) | |||
1201 | 1188 | ||
1202 | userdef = 1; | 1189 | userdef = 1; |
1203 | mem_size = memparse(p, &p); | 1190 | mem_size = memparse(p, &p); |
1204 | end_user_pfn = mem_size>>PAGE_SHIFT; | ||
1205 | e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1); | 1191 | e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1); |
1206 | 1192 | ||
1207 | return 0; | 1193 | return 0; |
@@ -1245,10 +1231,9 @@ static int __init parse_memmap_opt(char *p) | |||
1245 | } else if (*p == '$') { | 1231 | } else if (*p == '$') { |
1246 | start_at = memparse(p+1, &p); | 1232 | start_at = memparse(p+1, &p); |
1247 | e820_add_region(start_at, mem_size, E820_RESERVED); | 1233 | e820_add_region(start_at, mem_size, E820_RESERVED); |
1248 | } else { | 1234 | } else |
1249 | end_user_pfn = (mem_size >> PAGE_SHIFT); | ||
1250 | e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1); | 1235 | e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1); |
1251 | } | 1236 | |
1252 | return *p == '\0' ? 0 : -EINVAL; | 1237 | return *p == '\0' ? 0 : -EINVAL; |
1253 | } | 1238 | } |
1254 | early_param("memmap", parse_memmap_opt); | 1239 | early_param("memmap", parse_memmap_opt); |