[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] bios-tables-test failing for x86_64 on ppc
From: |
Peter Maydell |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] bios-tables-test failing for x86_64 on ppc |
Date: |
Wed, 8 Apr 2015 20:35:18 +0100 |
On 8 April 2015 at 19:03, Andreas Färber <address@hidden> wrote:
> I've resorted to setting up a ppc chroot on ppc64, and I can reproduce
> that qemu-system-i386 shows SeaBIOS okay, but qemu-system-x86_64
> immediately aborts with the quoted error.
Yeah, I can repro on the gcc compile farm's fedora ppc64 box.
(I didn't need to use a chroot, it was enough to pass configure
"-cpu ppc" and then it uses -m32 in ldflags and cflags.)
Looks like we fail on the first insn:
0x00000000fffffff0: ljmp $0xf000,$0xe05b
should take us to
0x00000000000fe05b: cmpl $0x0,%cs:0x6ac8
but on ppc32 we end up at:
0x000fe05b00000000: add %al,(%bx,%si)
and then spend a long time galloping through page upon
page of "add %al,(%bx,%si)" before finally falling
off the end and aborting.
Looking at the generated TCG, I suspect the problem
is that tcg_gen_st_i64() isn't writing the two i32
input values in the right order for the case where the
host is a 32-bit bigendian system...
-- PMM