p620 hangs instantiating rtas at 0x00000000deadbeef
Linas Vepstas
linas at austin.ibm.com
Fri Feb 11 11:01:34 EST 2005
On Thu, Feb 10, 2005 at 09:18:30PM +0100, Olaf Hering was heard to remark:
> On Thu, Feb 10, Linas Vepstas wrote:
> whatever 0xdeadbeef is, perhaps a hint to call prom_exit ;)
Once, a long time ago, it was what a register would hold after the CPU
was powered on the very first time ...
Now, it seems to be an error return value from prom_claim() ...
seems to be getting returned by firmware ... they probably
should have returned a -1, those jokers ...
Anyway, the firmware seems to be telling us that it cannot
honour the very first request to claim memory right below
RMO top.
I might be totally insane but I notice that rmo_top is set to 1GB, and I
thought 256MB was the top ... so try this, for laughs ... in the routine
static void __init prom_init_mem(void)
around line 675
RELOC(alloc_top) = RELOC(rmo_top) = min(0x40000000ul, RELOC(ram_top
change the 4 to a 1 ...
That is my wild guess.
I notice that someone re-wrote all of that prom code in the last half-year,
I don't know who ... probably Ben ... they would be the expert
for what's going on in here, not me. I bow out here.
---linas
> BOOTP S = 1
> FILE: orange
> Load Addr=0x4000 Max Size=0xbfc000
> FINAL Packet Count = 5801
> FINAL File Size = 2969809 bytes.
> zImage starting: loaded at 0x400000
> Allocating 0x94c000 bytes for kernel ...
> gunzipping (0x2100000 <- 0x407000:0x6c3192)...done 0x7e23b8 bytes
> 0xe60c bytes of heap consumed, max in use 0xa318
> OF stdout device is: /pci at fff7f09000/isa at 10/serial at i3f8
> klimit=0xc00000000084c000
> offset=0xbffffffffdef0000
> command line:
> root_addr_cells: 0000000000000002
> root_size_cells: 0000000000000002
> scanning memory:
> node /memory at 0 :
> 0000000000000000 0000000100000000
> memory layout at init:
> alloc_bottom : 0000000002960000
> alloc_top : 0000000040000000
> alloc_top_hi : 0000000100000000
> rmo_top : 0000000040000000
> ram_top : 0000000100000000
> Booting CPU hw index = 0x0000000000000000
> Looking for displays
> found display : /pci at fff7f0a000/pci at b,4/display at 1, opening ... done
.............
> prom_instantiate_rtas: start...
> prom_rtas: 0000000000cb5050
> size=0x00000000000a7000
> size=0x00000000000a7000
> size=0x00000000000a7000
> alloc_down(00000000000a7000, 0000000000001000, (low))
> trying: 0x000000003ff59000
> -> 00000000deadbeef
I'm guessing that prom_claim did not like the large value of 1GB ...
> alloc_bottom : 0000000002960000
> alloc_top : 00000000deadbeef
> alloc_top_hi : 00000000fc000000
> rmo_top : 0000000040000000
> ram_top : 0000000100000000
> instantiating rtas at 0x00000000deadbeef... failed
More information about the Linuxppc64-dev
mailing list