aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-10-30 21:07:02 -0500
committerPaul Mackerras <paulus@samba.org>2005-10-30 21:07:02 -0500
commitcf00a8d18b9a1c2d55b2728e89125c234e821db5 (patch)
tree99425b8acd08aae1e07a7ae31ff47fa18e4e8c91 /arch/powerpc/kernel
parent5f6b5b973a125de0dbe236ce659a495787c81ff0 (diff)
powerpc: Fix bug arising from having multiple memory_limit variables
We had a static memory_limit in prom.c, and then another one defined in setup_64.c and used in numa.c, which resulted in the kernel crashing when mem=xxx was given on the command line. This puts the declaration in system.h and the definition in mem.c. This also moves the definition of tce_alloc_start/end out of setup_64.c. Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/prom.c4
-rw-r--r--arch/powerpc/kernel/setup_64.c9
2 files changed, 1 insertions, 12 deletions
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 6309a1a17c4a..2eccd0e159e3 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -78,15 +78,13 @@ extern struct rtas_t rtas;
78extern struct lmb lmb; 78extern struct lmb lmb;
79extern unsigned long klimit; 79extern unsigned long klimit;
80 80
81static unsigned long memory_limit;
82
83static int __initdata dt_root_addr_cells; 81static int __initdata dt_root_addr_cells;
84static int __initdata dt_root_size_cells; 82static int __initdata dt_root_size_cells;
85 83
86#ifdef CONFIG_PPC64 84#ifdef CONFIG_PPC64
87static int __initdata iommu_is_off; 85static int __initdata iommu_is_off;
88int __initdata iommu_force_on; 86int __initdata iommu_force_on;
89extern unsigned long tce_alloc_start, tce_alloc_end; 87unsigned long tce_alloc_start, tce_alloc_end;
90#endif 88#endif
91 89
92typedef u32 cell_t; 90typedef u32 cell_t;
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 681537f8ea10..40c48100bf1b 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -631,15 +631,6 @@ static int ppc64_panic_event(struct notifier_block *this,
631 return NOTIFY_DONE; 631 return NOTIFY_DONE;
632} 632}
633 633
634/*
635 * These three variables are used to save values passed to us by prom_init()
636 * via the device tree. The TCE variables are needed because with a memory_limit
637 * in force we may need to explicitly map the TCE are at the top of RAM.
638 */
639unsigned long memory_limit;
640unsigned long tce_alloc_start;
641unsigned long tce_alloc_end;
642
643#ifdef CONFIG_PPC_ISERIES 634#ifdef CONFIG_PPC_ISERIES
644/* 635/*
645 * On iSeries we just parse the mem=X option from the command line. 636 * On iSeries we just parse the mem=X option from the command line.