diff options
Diffstat (limited to 'arch/sh/kernel/setup.c')
-rw-r--r-- | arch/sh/kernel/setup.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index 3241a6274b81..c2c6bfdf4dfe 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c | |||
@@ -116,7 +116,7 @@ static void __init register_bootmem_low_pages(void) | |||
116 | free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(pages)); | 116 | free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(pages)); |
117 | } | 117 | } |
118 | 118 | ||
119 | void __init setup_bootmem_allocator(unsigned long start_pfn) | 119 | void __init setup_bootmem_allocator(unsigned long free_pfn) |
120 | { | 120 | { |
121 | unsigned long bootmap_size; | 121 | unsigned long bootmap_size; |
122 | 122 | ||
@@ -125,7 +125,7 @@ void __init setup_bootmem_allocator(unsigned long start_pfn) | |||
125 | * bootstrap step all allocations (until the page allocator | 125 | * bootstrap step all allocations (until the page allocator |
126 | * is intact) must be done via bootmem_alloc(). | 126 | * is intact) must be done via bootmem_alloc(). |
127 | */ | 127 | */ |
128 | bootmap_size = init_bootmem_node(NODE_DATA(0), start_pfn, | 128 | bootmap_size = init_bootmem_node(NODE_DATA(0), free_pfn, |
129 | min_low_pfn, max_low_pfn); | 129 | min_low_pfn, max_low_pfn); |
130 | 130 | ||
131 | add_active_range(0, min_low_pfn, max_low_pfn); | 131 | add_active_range(0, min_low_pfn, max_low_pfn); |
@@ -141,7 +141,7 @@ void __init setup_bootmem_allocator(unsigned long start_pfn) | |||
141 | * an invalid RAM area. | 141 | * an invalid RAM area. |
142 | */ | 142 | */ |
143 | reserve_bootmem(__MEMORY_START+PAGE_SIZE, | 143 | reserve_bootmem(__MEMORY_START+PAGE_SIZE, |
144 | (PFN_PHYS(start_pfn)+bootmap_size+PAGE_SIZE-1)-__MEMORY_START); | 144 | (PFN_PHYS(free_pfn)+bootmap_size+PAGE_SIZE-1)-__MEMORY_START); |
145 | 145 | ||
146 | /* | 146 | /* |
147 | * reserve physical page 0 - it's a special BIOS page on many boxes, | 147 | * reserve physical page 0 - it's a special BIOS page on many boxes, |
@@ -149,6 +149,8 @@ void __init setup_bootmem_allocator(unsigned long start_pfn) | |||
149 | */ | 149 | */ |
150 | reserve_bootmem(__MEMORY_START, PAGE_SIZE); | 150 | reserve_bootmem(__MEMORY_START, PAGE_SIZE); |
151 | 151 | ||
152 | sparse_memory_present_with_active_regions(0); | ||
153 | |||
152 | #ifdef CONFIG_BLK_DEV_INITRD | 154 | #ifdef CONFIG_BLK_DEV_INITRD |
153 | ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0); | 155 | ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0); |
154 | if (&__rd_start != &__rd_end) { | 156 | if (&__rd_start != &__rd_end) { |
@@ -193,7 +195,6 @@ static void __init setup_memory(void) | |||
193 | */ | 195 | */ |
194 | start_pfn = PFN_UP(__pa(_end)); | 196 | start_pfn = PFN_UP(__pa(_end)); |
195 | setup_bootmem_allocator(start_pfn); | 197 | setup_bootmem_allocator(start_pfn); |
196 | sparse_memory_present_with_active_regions(0); | ||
197 | } | 198 | } |
198 | #else | 199 | #else |
199 | extern void __init setup_memory(void); | 200 | extern void __init setup_memory(void); |