diff options
author | Yinghai Lu <yinghai@kernel.org> | 2012-11-16 22:38:43 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2012-11-17 14:59:05 -0500 |
commit | 84f1ae30bb68d8da98bca7ff2c2b825b2ac8c9a5 (patch) | |
tree | 37dc9f269c42c432c4183beb69f4e13eccc1e1ab /arch/x86/mm/init.c | |
parent | 28b6ff667013735dd2e68edd105d17cdf3835dcb (diff) |
x86, mm: Change find_early_table_space() paramters
call split_mem_range inside the function.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/1353123563-3103-7-git-send-email-yinghai@kernel.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/mm/init.c')
-rw-r--r-- | arch/x86/mm/init.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index dbef4ffe8d31..51f919febf64 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c | |||
@@ -196,12 +196,18 @@ static int __meminit split_mem_range(struct map_range *mr, int nr_range, | |||
196 | * mr[0].start to mr[nr_range - 1].end, while accounting for possible 2M and 1GB | 196 | * mr[0].start to mr[nr_range - 1].end, while accounting for possible 2M and 1GB |
197 | * pages. Then find enough contiguous space for those page tables. | 197 | * pages. Then find enough contiguous space for those page tables. |
198 | */ | 198 | */ |
199 | static void __init find_early_table_space(struct map_range *mr, int nr_range) | 199 | static void __init find_early_table_space(unsigned long start, unsigned long end) |
200 | { | 200 | { |
201 | int i; | 201 | int i; |
202 | unsigned long puds = 0, pmds = 0, ptes = 0, tables; | 202 | unsigned long puds = 0, pmds = 0, ptes = 0, tables; |
203 | unsigned long start = 0, good_end; | 203 | unsigned long good_end; |
204 | phys_addr_t base; | 204 | phys_addr_t base; |
205 | struct map_range mr[NR_RANGE_MR]; | ||
206 | int nr_range; | ||
207 | |||
208 | memset(mr, 0, sizeof(mr)); | ||
209 | nr_range = 0; | ||
210 | nr_range = split_mem_range(mr, nr_range, start, end); | ||
205 | 211 | ||
206 | for (i = 0; i < nr_range; i++) { | 212 | for (i = 0; i < nr_range; i++) { |
207 | unsigned long range, extra; | 213 | unsigned long range, extra; |
@@ -276,7 +282,7 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, | |||
276 | * nodes are discovered. | 282 | * nodes are discovered. |
277 | */ | 283 | */ |
278 | if (!after_bootmem) | 284 | if (!after_bootmem) |
279 | find_early_table_space(mr, nr_range); | 285 | find_early_table_space(start, end); |
280 | 286 | ||
281 | for (i = 0; i < nr_range; i++) | 287 | for (i = 0; i < nr_range; i++) |
282 | ret = kernel_physical_mapping_init(mr[i].start, mr[i].end, | 288 | ret = kernel_physical_mapping_init(mr[i].start, mr[i].end, |