diff options
author | Tony Luck <tony.luck@intel.com> | 2008-04-17 10:14:51 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2008-04-17 10:14:51 -0700 |
commit | 71b264f85ff50c14fe945ffff06ae0d5e9a9124e (patch) | |
tree | 9fd79c63fd630c4d030a97d254d42a3a73f1328b /arch/ia64/kernel/setup.c | |
parent | f4df39cbdd9e9ab615e80148cc271db22a8508ad (diff) | |
parent | 072f042df335d7e0da2027637bcf720d7ff1589b (diff) |
Pull miscellaneous into release branch
Conflicts:
arch/ia64/kernel/mca.c
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 b86a072418a..5015ca1275c 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c @@ -177,6 +177,29 @@ filter_rsvd_memory (unsigned long start, unsigned long end, void *arg) return 0; } +/* + * Similar to "filter_rsvd_memory()", but the reserved memory ranges + * are not filtered out. + */ +int __init +filter_memory(unsigned long start, unsigned long end, void *arg) +{ + void (*func)(unsigned long, unsigned long, int); + +#if IGNORE_PFN0 + if (start == PAGE_OFFSET) { + printk(KERN_WARNING "warning: skipping physical page 0\n"); + start += PAGE_SIZE; + if (start >= end) + return 0; + } +#endif + func = arg; + if (start < end) + call_pernode_memory(__pa(start), end - start, func); + return 0; +} + static void __init sort_regions (struct rsvd_region *rsvd_region, int max) { |