On Mon, Jul 18, 2011 at 9:22 PM, Juergen Lock <n...@jelal.kn-bremen.de> wrote:
> Hi!
>
>  I'm the FreeBSD qemu port maintainer and don't have a sparc64 box
> myself, but Jashank Jeremy (Cc'd) now was so kind to test qemu 0.14.1
> on a FreeBSD/sparc64 box booting a FreeBSD 8/i386 install iso using
> i386-softmmu and we found two things:
>
> 1. The hang people have been reporting seems to be caused by this tb:
>
>        IN:
>        0x000e7a31:  in     $0xb3,%al
>        0x000e7a33:  test   %al,%al
>        0x000e7a35:  jne    0xe7a31
>
>   i.e. it (the qemu bios I suppose) is waiting for x86 ioport 0xb3
>   to become zero.  This port is #defined in hw/apm.c as:
>
>        qemu-0.14.1/hw/apm.c:#define APM_STS_IOPORT  0xb3
>
>   but the definition seems to be used nowhere in that source file.
>   Anyone have an idea why this port is never zero on sparc64 hosts
>   but seems to be on others?  (endian issue?  uninitialized variable?)

The port belongs to SMI, it's PORT_SMI_STATUS in Seabios.

There is a crash on OpenBSD/Sparc64 at this point. The problem is that
somewhere in do_smm_enter() or the functions that it calls, global
register for CPUState %g5 gets a different value that it should have.
Probably a system library uses it. I'll try if dropping -ffixed-g5
changes anything.

> 2. Booting the same guest with -no-acpi gets further, bios and
>   bootloader messages are printed until it hangs again, this
>   time while handling a guest irq 8 which seems to be rtc.

Yes, same here.

>  Maybe this is useful to some... :)
>
>  Thanx,
>        Juergen
>

Reply via email to