Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 80574
b: refs/heads/master
c: 9198715
h: refs/heads/master
v: v3
  • Loading branch information
Yinghai Lu authored and Ingo Molnar committed Jan 30, 2008
1 parent 69b56e8 commit bc5e171
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bb4a1d644a84e7e9d1d1fa9d1c7d1017b02e0947
refs/heads/master: 9198715763e8d0fd7fb7578c07916a5313e28b9d
4 changes: 2 additions & 2 deletions trunk/arch/x86/kernel/e820_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ void __init reserve_early(unsigned long start, unsigned long end)
for (i = 0; i < MAX_EARLY_RES && early_res[i].end; i++) {
r = &early_res[i];
if (end > r->start && start < r->end)
panic("Duplicated early reservation %lx-%lx\n",
start, end);
panic("Overlapping early reservations %lx-%lx to %lx-%lx\n",
start, end, r->start, r->end);
}
if (i >= MAX_EARLY_RES)
panic("Too many early reservations");
Expand Down
7 changes: 7 additions & 0 deletions trunk/arch/x86/mm/init_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,13 @@ static void __init find_early_table_space(unsigned long end)
if (table_start == -1UL)
panic("Cannot find space for the kernel page tables");

/*
* When you have a lot of RAM like 256GB, early_table will not fit
* into 0x8000 range, find_e820_area() will find area after kernel
* bss but the table_start is not page aligned, so need to round it
* up to avoid overlap with bss:
*/
table_start = round_up(table_start, PAGE_SIZE);
table_start >>= PAGE_SHIFT;
table_end = table_start;

Expand Down

0 comments on commit bc5e171

Please sign in to comment.