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: Mon, 11 Jun 2012 14:12:32 -0500

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?

according to cpu.h:

    POWERPC_EXCP_PROGRAM  = 6,  /* Program exception                         */
    POWERPC_EXCP_SYSCALL  = 8,  /* System call exception                     */



0 > setenv load-base 16384   ok
0 > boot cdrom:\ppc\chrp\bootfile.exe -s verbose 
Trying to load: -s verbose from: /vdevice/address@hidden/address@hidden,0:\ppc\chrp\bootfile.exe ...   Successfully loaded







-------------------------------------------------------------------------------
                                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

C000FFEC bytes of free memory remain at address 3FFF0014
load address: 0x00004000   aixmon size: 0x000CC600   boot image size: 0x016F94F0

Exception: 8

AIX is starting.


get-property for #bytes on zero phandle

The temporary memory region list is at 1 percent capacity.
The temporary IPLCB is at 1 percent capacity.
The IPLCB address is 0x0FFFC000
name                 offset           size
ipl_cb_and_bit_map 00000000 ......0000251C
bit_map........... 000005D8 ......00000006
ipl_info.......... 000001B8 ......00000024
system_info....... 000001DC ......000000BC
processor_info.... 00000298 ......00000148
lpar_id_info...... 000003E0 ......00000088
lpar_info......... 00000468 ......00000014
processor page.... 00000488 ......00000010
residual.......... 00000668 ......00001EB4
fwad_info......... 00000498 ......00000040
    region address        region length        attr  label
0    0x0000000000000000    0x000000000FFFA000    0x01  0x01
1    0x000000000FFFA000    0x0000000000002000    0x01  0x03
2    0x000000000FFFC000    0x0000000000003000    0x01  0x02
3    0x000000000FFFF000    0x0000000000000014    0x00  0x05
4    0x000000000FFFF014    0x0000000030000FEC    0x01  0x01
5    0x0000000040000000    0xFFFFFFFFC0000000    0x00  0x07
----------------------------

0000012C bytes of free memory remain at address 00004000
compressed kernel addr: D0600;  sz: 8384F4;  uncompressed kernel addr:  DE61400
      name     source       dest       size   flags
     .data    E881640    2000000    120C598     1
   basecfg          0          0          0     0
     ramfs     908AF0    E882000     DF48E1     1
     .text    DE61640      D0600     A20000     1
      .ldr    FA8DBD8     AF1000      8E6D4     1
    symtab    FE3BDBA     B80000     1BD1CD     1
 kern. hdr    DE61400          0        240     1
      .bss          0    320C598    2563A68     2
end of BSS: 05770000; RAM filesystem: 0F203000

entry_point: 0x000D0628
                       kernel debugger setting: enabled
-------------------------------------------------------------------------------

Starting kernel
Exception: 8

Exception: 8

Exception: 8

Exception: 8

Exception: 8

Exception: 8

Exception: 8

Exception: 8

Exception: 8

Exception: 8

Exception: 8

Exception: 6

Exception: 6

Registers at time of crash:

(qemu) info registers
info registers
NIP 0000000000585b9c   LR 000000000094b8b0 CTR 0000000000451340 XER 0000000000000010
MSR 8000000002003000 HID0 0000000000000000  HF 8000000002002000 idx 1
TB 00000152 656262892220 DECR 400792559
GPR00 000000000094b8b0 0000000003ad2730 8000000002083000 0000000003ad3f20
GPR04 0000000000000000 8000000000001032 0000000024402088 fffff00000000008
GPR08 8000000000001000 8000000002803000 f1000815b002bd00 700dfeed00000000
GPR12 0000000000000001 00000000022ab958 0000000000000074 00000000032d0000
GPR16 0000000000000000 0000000003ad2a00 0000000008000000 0000000002002400
GPR20 00000000000d0450 0000000000000001 0000000002014808 0000000000000000
GPR24 0000000000000000 0000000000001fff 00000000000007ff 0000000000000000
GPR28 0000000000000010 0000000000000001 00000000000034e0 0000000000000002
CR 84442088  [ L  G  G  G  E  -  L  L  ]             RES ffffffffffffffff
FPR00 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPSCR 00000000
 SRR0 0000000000585ba4  SRR1 8000000002083000    PVR 00000000003f0200 VRSAVE 0000000000000000
SPRG0 00000000032d0000 SPRG1 f1000815b002bd00  SPRG2 00000000032d0000  SPRG3 0000000100000000
SPRG4 0000000000000000 SPRG5 0000000000000000  SPRG6 0000000000000000  SPRG7 0000000000000000
 CFAR 0000000000585b78
(qemu)



Michael

On Mon, Jun 11, 2012 at 5:11 AM, Thomas Huth <address@hidden> wrote:
Am Sun, 10 Jun 2012 20:15:59 -0500
schrieb Michael Sabino <address@hidden>:

> Hi,
>
> I've been checking out the pSeries code for AIX boot in qemu in Alexander
> Graf's repository. I noticed that by commenting out gen_exception_err in:
> -------
> static inline void gen_inval_exception(DisasContext *ctx, uint32_t error)
> {
> //    gen_exception_err(ctx, POWERPC_EXCP_PROGRAM, POWERPC_EXCP_INVAL |
> error);
> }
> -------
> And booting the AIX bootfile.exe with the boot flags "-s verbose", this
> will result in a kernel abend which drops you into the Full-Fledged AIX
> Debugger!!
>
> You can also pass the boot options "-s trap", which will result in a trap
> to the kernel debugger immediately at kernel init.
>
> I'm going to be looking at this, and see if I can get further in the bootup!

I guess you get the inval_exception because there are some some SPRs
which are not emulated by QEMU yet ("Trying to read invalid spr ...").
You could try to add them to init_proc_POWER7() to see whether the
exception then goes away -- or try "-cpu 970" instead of "-cpu POWER7",
that worked at least a little bit better for me when I did some
experiments with CDlatest.iso.

 Thomas




reply via email to

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