__cam0 >> 20, __cam1 >> 20, __cam2 >> 20,
                        (total_lowmem - __cam0 - __cam1 - __cam2) >> 20);
        __max_low_memory = __cam0 + __cam1 + __cam2;
-       __initial_memory_limit = memstart_addr + __max_low_memory;
+       __initial_memory_limit_addr = memstart_addr + __max_low_memory;
 }
 
 unsigned long __max_low_memory = MAX_LOW_MEM;
 
 /*
- * limit of what is accessible with initial MMU setup -
+ * address of the limit of what is accessible with initial MMU setup -
  * 256MB usually, but only 16MB on 601.
  */
-unsigned long __initial_memory_limit = 0x10000000;
+phys_addr_t __initial_memory_limit_addr = (phys_addr_t)0x10000000;
 
 /*
  * Check for command-line options that affect what MMU_init will do.
 
        /* 601 can only access 16MB at the moment */
        if (PVR_VER(mfspr(SPRN_PVR)) == 1)
-               __initial_memory_limit = 0x01000000;
+               __initial_memory_limit_addr = 0x01000000;
        /* 8xx can only access 8MB at the moment */
        if (PVR_VER(mfspr(SPRN_PVR)) == 0x50)
-               __initial_memory_limit = 0x00800000;
+               __initial_memory_limit_addr = 0x00800000;
 
        /* parse args from command line */
        MMU_setup();
                p = alloc_bootmem_pages(PAGE_SIZE);
        } else {
                p = __va(lmb_alloc_base(PAGE_SIZE, PAGE_SIZE,
-                                       __initial_memory_limit));
+                                       __initial_memory_limit_addr));
        }
        return p;
 }
 
 
 extern unsigned long ioremap_bot;
 extern unsigned long __max_low_memory;
-extern unsigned long __initial_memory_limit;
+extern phys_addr_t __initial_memory_limit_addr;
 extern unsigned long total_memory;
 extern unsigned long total_lowmem;
 extern phys_addr_t memstart_addr;
 
         */
        if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
        Hash = __va(lmb_alloc_base(Hash_size, Hash_size,
-                                  __initial_memory_limit));
+                                  __initial_memory_limit_addr));
        cacheable_memzero(Hash, Hash_size);
        _SDR1 = __pa(Hash) | SDR1_LOW_BITS;