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;
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.
int init_bootmem_done;
int mem_init_done;
+unsigned long memory_limit;
/*
* This is called by /dev/mem to know if a given address has to
#include <asm/lmb.h>
#include <asm/machdep.h>
#include <asm/abs_addr.h>
+#include <asm/system.h>
static int numa_enabled = 1;
* we've already adjusted it for the limit and it takes care of
* having memory holes below the limit.
*/
- extern unsigned long memory_limit;
if (! memory_limit)
return size;
static void __init iSeries_init_early(void)
{
- extern unsigned long memory_limit;
-
DBG(" -> iSeries_init_early()\n");
ppc64_firmware_features = FW_FEATURE_ISERIES;
static int __initdata dt_root_size_cells;
static int __initdata iommu_is_off;
int __initdata iommu_force_on;
+unsigned long tce_alloc_start, tce_alloc_end;
+
typedef u32 cell_t;
#if 0
{
u32 *prop;
u64 *prop64;
- extern unsigned long tce_alloc_start, tce_alloc_end;
DBG("search \"chosen\", depth: %d, uname: %s\n", depth, uname);
extern unsigned int rtas_data;
extern int mem_init_done; /* set on boot once kmalloc can be called */
+extern unsigned long memory_limit;
extern int powersave_nap; /* set if nap mode can be used in idle loop */
}
extern int mem_init_done; /* set on boot once kmalloc can be called */
+extern unsigned long memory_limit;
/* EBCDIC -> ASCII conversion for [0-9A-Z] on iSeries */
extern unsigned char e2a(unsigned char);