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>
This commit is contained in:
Paul Mackerras
2005-10-31 13:07:02 +11:00
parent 5f6b5b973a
commit cf00a8d18b
8 changed files with 7 additions and 16 deletions

View File

@@ -78,15 +78,13 @@ extern struct rtas_t rtas;
extern struct lmb lmb;
extern unsigned long klimit;
static unsigned long memory_limit;
static int __initdata dt_root_addr_cells;
static int __initdata dt_root_size_cells;
#ifdef CONFIG_PPC64
static int __initdata iommu_is_off;
int __initdata iommu_force_on;
extern unsigned long tce_alloc_start, tce_alloc_end;
unsigned long tce_alloc_start, tce_alloc_end;
#endif
typedef u32 cell_t;

View File

@@ -631,15 +631,6 @@ static int ppc64_panic_event(struct notifier_block *this,
return NOTIFY_DONE;
}
/*
* These three variables are used to save values passed to us by prom_init()
* via the device tree. The TCE variables are needed because with a memory_limit
* in force we may need to explicitly map the TCE are at the top of RAM.
*/
unsigned long memory_limit;
unsigned long tce_alloc_start;
unsigned long tce_alloc_end;
#ifdef CONFIG_PPC_ISERIES
/*
* On iSeries we just parse the mem=X option from the command line.