On Wed, Jun 08, 2016 at 03:48:17PM +0200, Cédric Le Goater wrote:
So it is hd:3 and then, openbios dies directly :
... IN: 0xfff0d6c8: mr r28,r3 0xfff0d6cc: add r30,r30,r3 0xfff0d6d0: add r31,r31,r3 0xfff0d6d4: b 0xfff0d6a0
IN: 0xfff0d6a0: mr r3,r29 0xfff0d6a4: li r5,0 0xfff0d6a8: mr r6,r30 0xfff0d6ac: bl 0xfff279e8
IN: 0x00000300: .long 0x0
A DSI. How can BL cause a DSI? Shouldn't it be an ISI, if fff279e8 isn't mapped? What else can be going on, is the logging complete, or did e.g. one of the first insns of fff279e8 cause the DSI?
DSISR, DAR, SRR0/1 here will tell you more.
IN: 0x00000700: .long 0x0
That's because the code at 300 is 0, which is an invalid opcode.
which is this loop in bootcode_load() :
... bootcode = loadbase; offset = 0; while(1) { if (seek_io(fd, offset) == -1) break; count = read_io(fd, (void *)bootcode, 512); offset += count; bootcode += count; } ...
The failing call is to seek_io.
Segher