|
|
@ -53,12 +53,12 @@ __ref void *alloc_low_pages(unsigned int num) |
|
|
|
if ((pgt_buf_end + num) > pgt_buf_top || !can_use_brk_pgt) { |
|
|
|
if ((pgt_buf_end + num) > pgt_buf_top || !can_use_brk_pgt) { |
|
|
|
unsigned long ret; |
|
|
|
unsigned long ret; |
|
|
|
if (min_pfn_mapped >= max_pfn_mapped) |
|
|
|
if (min_pfn_mapped >= max_pfn_mapped) |
|
|
|
panic("alloc_low_page: ran out of memory"); |
|
|
|
panic("alloc_low_pages: ran out of memory"); |
|
|
|
ret = memblock_find_in_range(min_pfn_mapped << PAGE_SHIFT, |
|
|
|
ret = memblock_find_in_range(min_pfn_mapped << PAGE_SHIFT, |
|
|
|
max_pfn_mapped << PAGE_SHIFT, |
|
|
|
max_pfn_mapped << PAGE_SHIFT, |
|
|
|
PAGE_SIZE * num , PAGE_SIZE); |
|
|
|
PAGE_SIZE * num , PAGE_SIZE); |
|
|
|
if (!ret) |
|
|
|
if (!ret) |
|
|
|
panic("alloc_low_page: can not alloc memory"); |
|
|
|
panic("alloc_low_pages: can not alloc memory"); |
|
|
|
memblock_reserve(ret, PAGE_SIZE * num); |
|
|
|
memblock_reserve(ret, PAGE_SIZE * num); |
|
|
|
pfn = ret >> PAGE_SHIFT; |
|
|
|
pfn = ret >> PAGE_SHIFT; |
|
|
|
} else { |
|
|
|
} else { |
|
|
|