On Mon, Mar 22, 2010 at 10:25:24PM +0100, Juergen Lock wrote: > Hi! > > I just wanted to make another FreeBSD qemu git head snaphot port update, > and found both i386-softmmu and x86_64-softmmu no longer boot, they seem > to hang early in the bios before it prints anything, last tb seems to be > this loop: > > ---------------- > IN: > 0x00000000000f1b8e: mov 0xf81a0,%ecx > 0x00000000000f1b94: cmp %ecx,%eax > 0x00000000000f1b96: jne 0xf1b8e > > OUT: [size=184] > 0x4000e440: mov $0xf81a0,%ebp > 0x4000e445: mov %rbp,%rsi > 0x4000e448: mov %rbp,%rdi > 0x4000e44b: shr $0x7,%rsi > 0x4000e44f: and $0xfffffffffffff003,%rdi > 0x4000e456: and $0x1fe0,%esi > 0x4000e45c: lea 0x4f8(%rsi,%r14,1),%rsi > 0x4000e464: cmp (%rsi),%rdi > 0x4000e467: mov %rbp,%rdi > 0x4000e46a: je 0x4000e477 > 0x4000e46c: xor %esi,%esi > 0x4000e46e: callq 0x51fd30 > 0x4000e473: mov %eax,%ebp > 0x4000e475: jmp 0x4000e47d > 0x4000e477: add 0x18(%rsi),%rdi > 0x4000e47b: mov (%rdi),%ebp > 0x4000e47d: mov %ebp,%ebp > 0x4000e47f: mov %rbp,%rbx > 0x4000e482: mov (%r14),%r12 > 0x4000e485: mov %rbx,%r13 > 0x4000e488: sub %rbx,%r12 > 0x4000e48b: mov %r12,%rbx > 0x4000e48e: mov %ebx,%ebx > 0x4000e490: mov $0x10,%r15d > 0x4000e496: mov %r15d,0xa0(%r14) > 0x4000e49d: mov %r13,0x90(%r14) > 0x4000e4a4: mov %r12,0x98(%r14) > 0x4000e4ab: mov %rbp,0x8(%r14) > 0x4000e4af: test %rbx,%rbx > 0x4000e4b2: jne 0x4000e4d8 > 0x4000e4b8: jmpq 0x4000e4bd > 0x4000e4bd: mov $0xf1b98,%ebp > 0x4000e4c2: mov %rbp,0x80(%r14) > 0x4000e4c9: mov $0x802c05c80,%rax > 0x4000e4d3: jmpq 0xb65b8e > 0x4000e4d8: jmpq 0x4000e4dd > 0x4000e4dd: mov $0xf1b8e,%ebp > 0x4000e4e2: mov %rbp,0x80(%r14) > 0x4000e4e9: mov $0x802c05c81,%rax > 0x4000e4f3: jmpq 0xb65b8e > > Is 0xf81a0 an io port or how is it supposed to change? And, can > anyone reproduce this on Linux? As I said this is without kvm...
..and in case its supposed to be changed by an irq I just tried -d in_asm,out_asm,int and saw none listed. I've put the qemu.log here: http://people.freebsd.org/~nox/qemu/qemu.log.gz TIA, Juergen