diff options
Diffstat (limited to 'arch/ia64/kernel/setup.c')
-rw-r--r-- | arch/ia64/kernel/setup.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 4aa9eaea76c3..c85b7dd6ef33 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -176,6 +176,29 @@ filter_rsvd_memory (unsigned long start, unsigned long end, void *arg) | |||
176 | return 0; | 176 | return 0; |
177 | } | 177 | } |
178 | 178 | ||
179 | /* | ||
180 | * Similar to "filter_rsvd_memory()", but the reserved memory ranges | ||
181 | * are not filtered out. | ||
182 | */ | ||
183 | int __init | ||
184 | filter_memory(unsigned long start, unsigned long end, void *arg) | ||
185 | { | ||
186 | void (*func)(unsigned long, unsigned long, int); | ||
187 | |||
188 | #if IGNORE_PFN0 | ||
189 | if (start == PAGE_OFFSET) { | ||
190 | printk(KERN_WARNING "warning: skipping physical page 0\n"); | ||
191 | start += PAGE_SIZE; | ||
192 | if (start >= end) | ||
193 | return 0; | ||
194 | } | ||
195 | #endif | ||
196 | func = arg; | ||
197 | if (start < end) | ||
198 | call_pernode_memory(__pa(start), end - start, func); | ||
199 | return 0; | ||
200 | } | ||
201 | |||
179 | static void __init | 202 | static void __init |
180 | sort_regions (struct rsvd_region *rsvd_region, int max) | 203 | sort_regions (struct rsvd_region *rsvd_region, int max) |
181 | { | 204 | { |