diff options
| -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); |
