qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Help Debugging AIX boot on qemu-system-ppc (it reads bo


From: Kenneth Salerno
Subject: Re: [Qemu-devel] Help Debugging AIX boot on qemu-system-ppc (it reads bootfile.exe now)
Date: Sun, 3 Apr 2011 08:29:23 -0700 (PDT)

--- On Sun, 4/3/11, malc <address@hidden> wrote:

> From: malc <address@hidden>
> Subject: Re: [Qemu-devel] Help Debugging AIX boot on qemu-system-ppc (it 
> reads bootfile.exe now)
> To: "Kenneth Salerno" <address@hidden>
> Cc: address@hidden
> Date: Sunday, April 3, 2011, 12:13 AM
> On Sat, 2 Apr 2011, Kenneth Salerno
> wrote:
> 
> > Hi,
> > 
> > I have been using QEMU for a few years and
> periodically tested AIX V6.1 with qemu-system-ppc and read
> the various threads in the mailing list knowing not to
> expect it to work just yet. However, with OpenBIOS v1.0 I
> was surprised to find how far it gets now. Please see below
> and I would appreciate any advice on how to debug further:
> > 
> > >>
> =============================================================
> > >> OpenBIOS 1.0 [Jan 30 2011 08:46]
> > >> Configuration device id QEMU version 1
> machine id 2
> > >> CPUs: 1
> > >> Memory: 2047M
> > >> UUID: 17202d0a-45f8-4159-a8e1-78b866f50aa7
> > >> CPU type PowerPC,750
> > Welcome to OpenBIOS v1.0 built on Jan 30 2011 08:46
> > Trying cd:,\\:tbxi...
> > Trying cd:,\ppc\bootinfo.txt...
> > 
> > 
> > 
> >
> -------------------------------------------------------------------------------
> >                              
>    Welcome to AIX.
> >                        boot image
> timestamp: 00:39 35/2D
> >                  The current time and date:
> 23:00:50 04/02/2011
> >         processor count: 1;  memory size:
> 2047MB;  kernel size: 2293829
> >                     boot device:
> cd:\ppc\chrp\bootfile.exe
> > 
> > qemu>
> > info cpus
> > * CPU #0: nip=0xfff0fcdc thread_id=2527
> > 
> > info registers
> > NIP fff0fcec   LR fff0fcc4 CTR fff11558 XER
> 20000000
> > MSR 00003032 HID0 00000000  HF 00002000 idx 1
> > TB 00000000 1542797983 DECR 2752169338
> > GPR00 000000007fb9f0d0 000000007fcf7790
> 0000000000000000 000000007fba29e4
> > GPR04 00000000fffb403c 0000000000044200
> 00000000fff02464 0000000000044200
> > GPR08 0000000000000000 000000007fba29e4
> 000000000000000c 0000000000000820
> > GPR12 00000000000088ac 0000000000000000
> 00000000fff305f5 00000000fff30dac
> > GPR16 00000000fff2f14e 0000000004000000
> 00000000fffb36c4 00000000fffb3ec4
> > GPR20 00000000000030ec 00000000fff2ef4a
> 00000000fff2ef38 00000000fff2eeb8
> > GPR24 00000000fff2ef40 00000000fffb3628
> 0000000000044204 00000000fffffff8
> > GPR28 0000000000000036 00000000fffb0000
> 00000000fffb0000 000000007fb9f0d8
> > CR 48000084  [ G  L  -  -  -  -  L  G  ]   
>          RES ffffffff
> > 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 000042c0 SRR1 00003032 SDR1 7fd00000
> > 
> > x/20i $pc-10
> 
> Unless i'm missing something, what follows does not make
> any
> sense (and for a good reason: 10 is not multiple of 4
> (opcode size on
> ppc))

(qemu) x/20i $pc-4
x/20i $pc-4
0xfff0fcd8:  b       0xfff0fce0
0xfff0fcdc:  mr      r3,r9
0xfff0fce0:  lwz     r9,0(r3)
0xfff0fce4:  cmpwi   cr7,r9,0
0xfff0fce8:  beq-    cr7,0xfff0fcfc
0xfff0fcec:  lwz     r10,4(r9)
0xfff0fcf0:  lwz     r11,-4(r31)
0xfff0fcf4:  cmplw   cr7,r10,r11
0xfff0fcf8:  blt+    cr7,0xfff0fcdc
0xfff0fcfc:  stw     r9,-8(r31)
0xfff0fd00:  stw     r0,0(r3)
0xfff0fd04:  addi    r11,r1,16
0xfff0fd08:  b       0xfff25e80
0xfff0fd0c:  stwu    r1,-32(r1)
0xfff0fd10:  mflr    r0
0xfff0fd14:  stmw    r29,20(r1)
0xfff0fd18:  mr.     r30,r3
0xfff0fd1c:  stw     r0,36(r1)
0xfff0fd20:  mr      r29,r4
0xfff0fd24:  bne+    0xfff0fd38

(qemu) info registers
info registers
NIP fff0fcec   LR fff0fcc4 CTR fff11558 XER 20000000
MSR 00003032 HID0 00000000  HF 00002000 idx 1
TB 00000000 2208586352 DECR 2086380980
GPR00 000000007fb9f0a0 000000007fcf7790 0000000000000000 000000007fba29b4
GPR04 00000000fffb403c 0000000000044200 00000000fff02464 0000000000044200
GPR08 0000000000000000 000000007fba29b4 000000000000000c 0000000000000820
GPR12 00000000000088ac 0000000000000000 00000000fff305f5 00000000fff30dac
GPR16 00000000fff2f14e 0000000004000000 00000000fffb36c4 00000000fffb3ec4
GPR20 00000000000030ec 00000000fff2ef4a 00000000fff2ef38 00000000fff2eeb8
GPR24 00000000fff2ef40 00000000fffb3628 0000000000044204 00000000fffffff8
GPR28 0000000000000036 00000000fffb0000 00000000fffb0000 000000007fb9f0a8
CR 48000084  [ G  L  -  -  -  -  L  G  ]             RES ffffffff
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 000042c0 SRR1 00003032 SDR1 7fd00000

OUT: [size=256]
0x40576b60:  mov    0x100(%r14),%ebp
0x40576b67:  mov    0x4(%r14),%ebx
0x40576b6b:  lea    -0x10(%rbx),%r12d
0x40576b6f:  mov    %ebp,(%r14)
0x40576b72:  mov    $0x20,%ebp
0x40576b77:  mov    %ebp,0x260(%r14)
0x40576b7e:  mov    %r12d,%esi
0x40576b81:  mov    %r12d,%edi
0x40576b84:  shr    $0x7,%esi
0x40576b87:  and    $0xfffff003,%edi
0x40576b8d:  and    $0x1fe0,%esi
0x40576b93:  lea    0x228c(%r14,%rsi,1),%rsi
0x40576b9b:  cmp    (%rsi),%edi
0x40576b9d:  mov    %r12d,%edi
0x40576ba0:  jne    0x40576bae
0x40576ba2:  add    0xc(%rsi),%rdi
0x40576ba6:  mov    %ebx,%esi
0x40576ba8:  bswap  %esi
0x40576baa:  mov    %esi,(%rdi)
0x40576bac:  jmp    0x40576bba
0x40576bae:  mov    %ebx,%esi
0x40576bb0:  mov    $0x1,%edx
0x40576bb5:  callq  0x57f0f5
0x40576bba:  lea    0x14(%r12),%ebp
0x40576bbf:  mov    (%r14),%ebx
0x40576bc2:  mov    %r12d,0x4(%r14)
0x40576bc6:  mov    %ebp,%esi
0x40576bc8:  mov    %ebp,%edi
0x40576bca:  shr    $0x7,%esi
0x40576bcd:  and    $0xfffff003,%edi
0x40576bd3:  and    $0x1fe0,%esi
0x40576bd9:  lea    0x228c(%r14,%rsi,1),%rsi
0x40576be1:  cmp    (%rsi),%edi
0x40576be3:  mov    %ebp,%edi
0x40576be5:  jne    0x40576bf3
0x40576be7:  add    0xc(%rsi),%rdi
0x40576beb:  mov    %ebx,%esi
0x40576bed:  bswap  %esi
0x40576bef:  mov    %esi,(%rdi)
0x40576bf1:  jmp    0x40576bff
0x40576bf3:  mov    %ebx,%esi
0x40576bf5:  mov    $0x1,%edx
0x40576bfa:  callq  0x57f0f5
0x40576bff:  mov    0xc(%r14),%ebp
0x40576c03:  lea    0x18(%rbp),%ebx
0x40576c06:  mov    %ebx,%esi
0x40576c08:  mov    %ebx,%edi
0x40576c0a:  shr    $0x7,%esi
0x40576c0d:  and    $0xfffff003,%edi
0x40576c13:  and    $0x1fe0,%esi
0x40576c19:  lea    0x2288(%r14,%rsi,1),%rsi
0x40576c21:  cmp    (%rsi),%edi
0x40576c23:  mov    %ebx,%edi
0x40576c25:  jne    0x40576c31
0x40576c27:  add    0x10(%rsi),%rdi
0x40576c2b:  mov    (%rdi),%ebp
0x40576c2d:  bswap  %ebp
0x40576c2f:  jmp    0x40576c3d
0x40576c31:  mov    $0x1,%esi
0x40576c36:  callq  0x57ecde
0x40576c3b:  mov    %eax,%ebp
0x40576c3d:  mov    %ebp,0xc(%r14)
0x40576c41:  mov    $0xfff084ac,%ebp
0x40576c46:  mov    %ebp,0x25c(%r14)
0x40576c4d:  mov    $0xfff1156c,%ebp
0x40576c52:  mov    %ebp,0x100(%r14)
0x40576c59:  xor    %eax,%eax
0x40576c5b:  jmpq   0x11c0a4e

> 
> > 0xfff0fcd2:  fnmadd. f31,f24,f4,f18
> > 0xfff0fcd6:  .long 0xfff84800
> > 0xfff0fcda:  .long 0x87d23
> > 0xfff0fcde:  bla     0xff788120
> > 0xfff0fce2:  .long 0x2f89
> > 0xfff0fce6:  .long 0x419e
> > 0xfff0fcea:  .long 0x148149
> > 0xfff0fcee:  .long 0x4817f
> > 0xfff0fcf2:  .long 0xfffc7f8a
> > 0xfff0fcf6:  rlmi    r0,r2,r8,6,14
> > 0xfff0fcfa:  fnmadd. f31,f4,f4,f18
> > 0xfff0fcfe:  .long 0xfff89003
> > 0xfff0fd02:  .long 0x3961
> > 0xfff0fd06:  .long 0x104801
> > 0xfff0fd0a:  ori     r24,r11,37921
> > 0xfff0fd0e:  .long 0xffe07c08
> > 0xfff0fd12:  .long 0x2a6bfa1
> > 0xfff0fd16:  .long 0x147c7e
> > 0xfff0fd1a:  .long 0x1b799001
> > 0xfff0fd1e:  .long 0x247c9d
> > 
> > last entry from out_asm:
> > OUT: [size=256]
> > 0x4157ae90:  mov    0x100(%r14),%ebp
> > 0x4157ae97:  mov    0x4(%r14),%ebx
> > 0x4157ae9b:  lea    -0x10(%rbx),%r12d
> > 0x4157ae9f:  mov    %ebp,(%r14)
> > 0x4157aea2:  mov    $0x20,%ebp
> > 0x4157aea7:  mov    %ebp,0x260(%r14)
> > 0x4157aeae:  mov    %r12d,%esi
> > 0x4157aeb1:  mov    %r12d,%edi
> > 0x4157aeb4:  shr    $0x7,%esi
> > 0x4157aeb7:  and    $0xfffff003,%edi
> > 0x4157aebd:  and    $0x1fe0,%esi
> > 0x4157aec3:  lea   
> 0x228c(%r14,%rsi,1),%rsi
> > 0x4157aecb:  cmp    (%rsi),%edi
> > 0x4157aecd:  mov    %r12d,%edi
> > 0x4157aed0:  jne    0x4157aede
> > 0x4157aed2:  add    0xc(%rsi),%rdi
> > 0x4157aed6:  mov    %ebx,%esi
> > 0x4157aed8:  bswap  %esi
> > 0x4157aeda:  mov    %esi,(%rdi)
> > 0x4157aedc:  jmp    0x4157aeea
> > 0x4157aede:  mov    %ebx,%esi
> > 0x4157aee0:  mov    $0x1,%edx
> > 0x4157aee5:  callq  0x57f0f5
> > 0x4157aeea:  lea    0x14(%r12),%ebp
> > 0x4157aeef:  mov    (%r14),%ebx
> > 0x4157aef2:  mov    %r12d,0x4(%r14)
> > 0x4157aef6:  mov    %ebp,%esi
> > 0x4157aef8:  mov    %ebp,%edi
> > 0x4157aefa:  shr    $0x7,%esi
> > 0x4157aefd:  and    $0xfffff003,%edi
> > 0x4157af03:  and    $0x1fe0,%esi
> > 0x4157af09:  lea   
> 0x228c(%r14,%rsi,1),%rsi
> > 0x4157af11:  cmp    (%rsi),%edi
> > 0x4157af13:  mov    %ebp,%edi
> > 0x4157af15:  jne    0x4157af23
> > 0x4157af17:  add    0xc(%rsi),%rdi
> > 0x4157af1b:  mov    %ebx,%esi
> > 0x4157af1d:  bswap  %esi
> > 0x4157af1f:  mov    %esi,(%rdi)
> > 0x4157af21:  jmp    0x4157af2f
> > 0x4157af23:  mov    %ebx,%esi
> > 0x4157af25:  mov    $0x1,%edx
> > 0x4157af2a:  callq  0x57f0f5
> > 0x4157af2f:  mov    0xc(%r14),%ebp
> > 0x4157af33:  lea    0x18(%rbp),%ebx
> > 0x4157af36:  mov    %ebx,%esi
> > 0x4157af38:  mov    %ebx,%edi
> > 0x4157af3a:  shr    $0x7,%esi
> > 0x4157af3d:  and    $0xfffff003,%edi
> > 0x4157af43:  and    $0x1fe0,%esi
> > 0x4157af49:  lea   
> 0x2288(%r14,%rsi,1),%rsi
> > 0x4157af51:  cmp    (%rsi),%edi
> > 0x4157af53:  mov    %ebx,%edi
> > 0x4157af55:  jne    0x4157af61
> > 0x4157af57:  add    0x10(%rsi),%rdi
> > 0x4157af5b:  mov    (%rdi),%ebp
> > 0x4157af5d:  bswap  %ebp
> > 0x4157af5f:  jmp    0x4157af6d
> > 0x4157af61:  mov    $0x1,%esi
> > 0x4157af66:  callq  0x57ecde
> > 0x4157af6b:  mov    %eax,%ebp
> > 0x4157af6d:  mov    %ebp,0xc(%r14)
> > 0x4157af71:  mov    $0xfff084ac,%ebp
> > 0x4157af76:  mov    %ebp,0x25c(%r14)
> > 0x4157af7d:  mov    $0xfff1156c,%ebp
> > 0x4157af82:  mov    %ebp,0x100(%r14)
> > 0x4157af89:  xor    %eax,%eax
> > 0x4157af8b:  jmpq   0x11babee
> > 
> > Thank you,
> > Ken
> > 
> 
> -- 
> mailto:address@hidden



reply via email to

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