On 8 April 2015 at 19:03, Andreas Färber <afaer...@suse.de> 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

Reply via email to