qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] Qemu pSeries AIX ADB boot


From: Michael Sabino
Subject: Re: [Qemu-ppc] Qemu pSeries AIX ADB boot
Date: Tue, 12 Jun 2012 20:51:02 -0500

I added some debug code to qemu:
static inline void gen_inval_exception(DisasContext *ctx, uint32_t error)
{
      printf("\nOpcode: %x\n", ctx->opcode);
      gen_exception_err(ctx, POWERPC_EXCP_PROGRAM, POWERPC_EXCP_INVAL | error);

}


with the following result:

-------------------------------------------------------------------------------
                                Welcome to AIX.
                   boot image timestamp: 21:46:45 04/20/2012
        processor count: 1;  memory size: 1024MB;  kernel size: 35224455
      boot device: /vdevice/address@hidden/address@hidden,0:\ppc\chrp\bootfile.exe

AIX is starting.


get-property for #bytes on zero phandle

-------------------------------------------------------------------------------

Starting kernel
h_get_ppp might not be right yet

Opcode: 7ca01fa7

I then used the AIX kernel's KDB to disassemble:

KDB(0)> di 7ca01fa7
       slbfee   r5,r3

KDB(0)>

Still curious why the slb is crashing things, though.


Thanks,

Michael Sabino

On Tue, Jun 12, 2012 at 6:13 AM, Thomas Huth <address@hidden> wrote:
Am Mon, 11 Jun 2012 14:12:32 -0500
schrieb Michael Sabino <address@hidden>:

> Actually, the POWER7 code seems to get further than the 970 in this case
> with the exception handling code disabled.
>
> As far as the code with the exception handling code enabled -
> I added the spr's, but an invalid program exception seems to be being
> generated which doesn't relate to the writing/reading invalid SPR. I'm not
> sure what it's origin is quite yet. Any ideas for figuring this out?

I just attached a GDB and ran a boot until $pc < 0x1000 (to catch the
exceptions), and it seems to me like this is the culprit:

  0x5814a4:    stxvd2x vs0,r9,r1

That's a new instruction, introduced in PowerISA 2.06, and I guess QEMU
does not emulate it yet and thus generates that invalid program
exception.

 Thomas



reply via email to

[Prev in Thread] Current Thread [Next in Thread]