--- On Sun, 4/3/11, malc <av1...@comtv.ru> wrote: > From: malc <av1...@comtv.ru> > Subject: Re: [Qemu-devel] Help Debugging AIX boot on qemu-system-ppc (it > reads bootfile.exe now) > To: "Kenneth Salerno" <kennethsale...@yahoo.com> > Cc: qemu-devel@nongnu.org > 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:av1...@comtv.ru