diff options
author | Paul Mackerras <paulus@samba.org> | 2005-10-30 21:07:02 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-10-30 21:07:02 -0500 |
commit | cf00a8d18b9a1c2d55b2728e89125c234e821db5 (patch) | |
tree | 99425b8acd08aae1e07a7ae31ff47fa18e4e8c91 /arch/powerpc/kernel | |
parent | 5f6b5b973a125de0dbe236ce659a495787c81ff0 (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.c | 4 | ||||
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 9 |
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; | |||
78 | extern struct lmb lmb; | 78 | extern struct lmb lmb; |
79 | extern unsigned long klimit; | 79 | extern unsigned long klimit; |
80 | 80 | ||
81 | static unsigned long memory_limit; | ||
82 | |||
83 | static int __initdata dt_root_addr_cells; | 81 | static int __initdata dt_root_addr_cells; |
84 | static int __initdata dt_root_size_cells; | 82 | static int __initdata dt_root_size_cells; |
85 | 83 | ||
86 | #ifdef CONFIG_PPC64 | 84 | #ifdef CONFIG_PPC64 |
87 | static int __initdata iommu_is_off; | 85 | static int __initdata iommu_is_off; |
88 | int __initdata iommu_force_on; | 86 | int __initdata iommu_force_on; |
89 | extern unsigned long tce_alloc_start, tce_alloc_end; | 87 | unsigned long tce_alloc_start, tce_alloc_end; |
90 | #endif | 88 | #endif |
91 | 89 | ||
92 | typedef u32 cell_t; | 90 | typedef 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 | */ | ||
639 | unsigned long memory_limit; | ||
640 | unsigned long tce_alloc_start; | ||
641 | unsigned 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. |