[Top][All Lists]
[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: |
Mon, 4 Apr 2011 13:28:14 -0700 (PDT) |
--- On Sun, 4/3/11, Kenneth Salerno <address@hidden> wrote:
> From: Kenneth Salerno <address@hidden>
> Subject: Re: [Qemu-devel] Help Debugging AIX boot on qemu-system-ppc (it
> reads bootfile.exe now)
> To: "malc" <address@hidden>
> Cc: address@hidden
> Date: Sunday, April 3, 2011, 6:52 PM
> --- On Sun, 4/3/11, Kenneth Salerno
> <address@hidden>
> wrote:
>
> > From: Kenneth Salerno <address@hidden>
> > Subject: Re: [Qemu-devel] Help Debugging AIX boot on
> qemu-system-ppc (it reads bootfile.exe now)
> > To: "malc" <address@hidden>
> > Cc: address@hidden
> > Date: Sunday, April 3, 2011, 11:29 AM
> > --- 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
> >
>
> I am posting new debug info here to give the complete
> picture:
>
> ===========================================
> gdb
> ===========================================
> cpu_ppc_exec (env1=0x11e4a10) at
> /home/kens/iso/aix/qemu/cpu-exec.c:446
> 446
> if
> (env->pending_interrupts == 0)
> 448
> next_tb
> = 0;
> 557
> if
> (env->interrupt_request & CPU_INTERRUPT_EXITTB) {
> 564
> if (unlikely(env->exit_request))
> {
> 565
> env->exit_request
> = 0;
> 566
>
> env->exception_index = EXCP_INTERRUPT;
> 567
> cpu_loop_exit();
> cpu_loop_exit () at /home/kens/iso/aix/qemu/cpu-exec.c:59
> 59 {
> 60 env->current_tb =
> NULL;
> 61
> longjmp(env->jmp_env, 1);
> longjmp (env=0x11f3ce8, val=1) at
> ../nptl/sysdeps/pthread/pt-longjmp.c:26
> 26 {
> 27 __libc_longjmp (env, val);
> __libc_siglongjmp (env=0x11f3ce8, val=1) at longjmp.c:30
> 30 {
> 32 _longjmp_unwind (env, val);
> _longjmp_unwind (env=0x11f3ce8, val=1)
> at
> ../nptl/sysdeps/unix/sysv/linux/jmp-unwind.c:32
> 32 if
> (__libc_pthread_functions_init)
> 33 PTHFCT_CALL
> (ptr___pthread_cleanup_upto, (env->__jmpbuf,
> __pthread_cleanup_upto (target=0x11f3ce8,
> targetframe=0x7fffffffda68
> "\030_o\366\377\177") at pt-cleanup.c:27
> 27 {
> 28 struct pthread *self =
> THREAD_SELF;
> 27 {
> 34 uintptr_t adj = (uintptr_t)
> self->stackblock + self->stackblock_size;
> 37 for (cbuf = THREAD_GETMEM
> (self, cleanup);
> 61 THREAD_SETMEM (self, cleanup,
> cbuf);
> 62 }
> __libc_siglongjmp (env=0x11f3ce8, val=1) at longjmp.c:34
> 34 if (env[0].__mask_was_saved)
> 40 __longjmp (env[0].__jmpbuf,
> val ?: 1);
> __longjmp () at ../sysdeps/x86_64/__longjmp.S:29
> 29 movq
> (JB_RSP*8)(%rdi),%r8
> 30 movq
> (JB_RBP*8)(%rdi),%r9
> 31 movq
> (JB_PC*8)(%rdi),%rdx
> 33
> PTR_DEMANGLE (%r8)
> 34
> PTR_DEMANGLE (%r9)
> 35
> PTR_DEMANGLE (%rdx)
> __longjmp () at ../sysdeps/x86_64/__longjmp.S:47
> 47 movq
> (JB_RBX*8)(%rdi),%rbx
> 48 movq
> (JB_R12*8)(%rdi),%r12
> 49 movq
> (JB_R13*8)(%rdi),%r13
> 50 movq
> (JB_R14*8)(%rdi),%r14
> 51 movq
> (JB_R15*8)(%rdi),%r15
> 53 mov
> %esi, %eax
> 54 movq
> %r8,%rsp
> 55 movq
> %r9,%rbp
> 56 jmpq
> *%rdx
> cpu_ppc_exec (env1=0x11e4a10) at
> /home/kens/iso/aix/qemu/cpu-exec.c:659
> 659 } /* for(;;) */
> 285 if
> (setjmp(env->jmp_env) == 0) {
>
> ===========================================
> (qemu) info cpus
> ===========================================
> info cpus
> * CPU #0: nip=0xfff0fcec thread_id=3237
>
> ===========================================
> (qemu) info registers
> ===========================================
> info registers
> NIP fff0fcec LR fff0fcc4 CTR fff11558 XER
> 20000000
> MSR 00003032 HID0 00000000 HF 00002000 idx 1
> TB 00000000 2180099446 DECR 2114867875
> 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
>
> ===========================================
> (qemu) x/20i $pc-4
> ===========================================
> x/20i $pc-4
> 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
> 0xfff0fd28: mr r3,r4
> 0xfff0fd2c: bl 0xfff0848c
> 0xfff0fd30: mr r31,r3
> 0xfff0fd34: b
> 0xfff0fd84
>
> ===========================================
> last entries from in_asm,op,op_opt,out_asm:
> ===========================================
> IN:
> 0xfff11558: mflr r0
> 0xfff1155c: stwu r1,-16(r1)
> 0xfff11560: stw r0,20(r1)
> 0xfff11564: lwz r3,24(r3)
> 0xfff11568: bl 0xfff084ac
>
> OP:
> ---- 0xfff11558
> mov_i32 r0,lr
>
> ---- 0xfff1155c
> movi_i32 access_type,$0x20
> movi_i32 tmp1,$0xfffffff0
> add_i32 tmp0,r1,tmp1
> qemu_st32 r1,tmp0,$0x1
> mov_i32 r1,tmp0
>
> ---- 0xfff11560
> movi_i32 tmp1,$0x14
> add_i32 tmp0,r1,tmp1
> qemu_st32 r0,tmp0,$0x1
>
> ---- 0xfff11564
> movi_i32 tmp1,$0x18
> add_i32 tmp0,r3,tmp1
> qemu_ld32 r3,tmp0,$0x1
>
> ---- 0xfff11568
> movi_i32 lr,$0xfff1156c
> movi_i32 nip,$0xfff084ac
> exit_tb $0x0
>
> OP after liveness analysis:
> ---- 0xfff11558
> mov_i32 r0,lr
>
> ---- 0xfff1155c
> movi_i32 access_type,$0x20
> movi_i32 tmp1,$0xfffffff0
> add_i32 tmp0,r1,tmp1
> qemu_st32 r1,tmp0,$0x1
> mov_i32 r1,tmp0
>
> ---- 0xfff11560
> movi_i32 tmp1,$0x14
> add_i32 tmp0,r1,tmp1
> qemu_st32 r0,tmp0,$0x1
>
> ---- 0xfff11564
> movi_i32 tmp1,$0x18
> add_i32 tmp0,r3,tmp1
> qemu_ld32 r3,tmp0,$0x1
>
> ---- 0xfff11568
> movi_i32 lr,$0xfff1156c
> movi_i32 nip,$0xfff084ac
> exit_tb $0x0
> end
>
> OUT: [size=256]
> 0x400e7b60: mov 0x100(%r14),%ebp
> 0x400e7b67: mov 0x4(%r14),%ebx
> 0x400e7b6b: lea -0x10(%rbx),%r12d
> 0x400e7b6f: mov %ebp,(%r14)
> 0x400e7b72: mov $0x20,%ebp
> 0x400e7b77: mov %ebp,0x260(%r14)
> 0x400e7b7e: mov %r12d,%esi
> 0x400e7b81: mov %r12d,%edi
> 0x400e7b84: shr $0x7,%esi
> 0x400e7b87: and $0xfffff003,%edi
> 0x400e7b8d: and $0x1fe0,%esi
> 0x400e7b93: lea
> 0x228c(%r14,%rsi,1),%rsi
> 0x400e7b9b: cmp (%rsi),%edi
> 0x400e7b9d: mov %r12d,%edi
> 0x400e7ba0: jne 0x400e7bae
> 0x400e7ba2: add 0xc(%rsi),%rdi
> 0x400e7ba6: mov %ebx,%esi
> 0x400e7ba8: bswap %esi
> 0x400e7baa: mov %esi,(%rdi)
> 0x400e7bac: jmp 0x400e7bba
> 0x400e7bae: mov %ebx,%esi
> 0x400e7bb0: mov $0x1,%edx
> 0x400e7bb5: callq 0x57f0f5
> 0x400e7bba: lea 0x14(%r12),%ebp
> 0x400e7bbf: mov (%r14),%ebx
> 0x400e7bc2: mov %r12d,0x4(%r14)
> 0x400e7bc6: mov %ebp,%esi
> 0x400e7bc8: mov %ebp,%edi
> 0x400e7bca: shr $0x7,%esi
> 0x400e7bcd: and $0xfffff003,%edi
> 0x400e7bd3: and $0x1fe0,%esi
> 0x400e7bd9: lea
> 0x228c(%r14,%rsi,1),%rsi
> 0x400e7be1: cmp (%rsi),%edi
> 0x400e7be3: mov %ebp,%edi
> 0x400e7be5: jne 0x400e7bf3
> 0x400e7be7: add 0xc(%rsi),%rdi
> 0x400e7beb: mov %ebx,%esi
> 0x400e7bed: bswap %esi
> 0x400e7bef: mov %esi,(%rdi)
> 0x400e7bf1: jmp 0x400e7bff
> 0x400e7bf3: mov %ebx,%esi
> 0x400e7bf5: mov $0x1,%edx
> 0x400e7bfa: callq 0x57f0f5
> 0x400e7bff: mov 0xc(%r14),%ebp
> 0x400e7c03: lea 0x18(%rbp),%ebx
> 0x400e7c06: mov %ebx,%esi
> 0x400e7c08: mov %ebx,%edi
> 0x400e7c0a: shr $0x7,%esi
> 0x400e7c0d: and $0xfffff003,%edi
> 0x400e7c13: and $0x1fe0,%esi
> 0x400e7c19: lea
> 0x2288(%r14,%rsi,1),%rsi
> 0x400e7c21: cmp (%rsi),%edi
> 0x400e7c23: mov %ebx,%edi
> 0x400e7c25: jne 0x400e7c31
> 0x400e7c27: add 0x10(%rsi),%rdi
> 0x400e7c2b: mov (%rdi),%ebp
> 0x400e7c2d: bswap %ebp
> 0x400e7c2f: jmp 0x400e7c3d
> 0x400e7c31: mov $0x1,%esi
> 0x400e7c36: callq 0x57ecde
> 0x400e7c3b: mov %eax,%ebp
> 0x400e7c3d: mov %ebp,0xc(%r14)
> 0x400e7c41: mov $0xfff084ac,%ebp
> 0x400e7c46: mov %ebp,0x25c(%r14)
> 0x400e7c4d: mov $0xfff1156c,%ebp
> 0x400e7c52: mov %ebp,0x100(%r14)
> 0x400e7c59: xor %eax,%eax
> 0x400e7c5b: jmpq 0x11c0a4e
>
> Again, if there are any suggestions how I can continue to
> debug this situatation where execution stops after starting
> to read bootfile.exe, I would appreciate it. I am willing to
> run any test or generate any output anyone suggests to get a
> better idea of where and why it is hung up.
>
> Thank you,
> Ken
>
--- On Mon, 04 Apr 2011 08:59:37 -0400, Brian Wheeler wrote:
> Out of curiosity, what command line did you use for this?
./qemu/ppc-softmmu/qemu-system-ppc \
-net none \
-m 2047 \
-nographic \
-bios ./qemu/pc-bios/openbios-ppc \
-hda aix.img \
-cdrom ibmvios.iso \
-boot d \
-rtc base=localtime,clock=host \
-uuid xx...
-monitor tcp:127.0.0.1:9979,server,nowait \
-serial tcp:127.0.0.1:9980,server,nowait \
-d in_asm,out_asm,op,op_opt