aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/e820.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/e820.c')
-rw-r--r--arch/x86/kernel/e820.c19
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 */
1054unsigned 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 */
1059static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type) 1054static 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}
1254early_param("memmap", parse_memmap_opt); 1239early_param("memmap", parse_memmap_opt);