qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] tcg/tcg-op.c: Fix ld/st of 64 bit values on 32-


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH] tcg/tcg-op.c: Fix ld/st of 64 bit values on 32-bit bigendian hosts
Date: Wed, 08 Apr 2015 23:21:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0

Am 08.04.2015 um 21:57 schrieb Peter Maydell:
> Commit 951c6300f7 out-of-lined the 32-bit-host versions of
> tcg_gen_{ld,st}_i64, but in the process it inadvertently changed
> an #ifdef HOST_WORDS_BIGENDIAN to #ifdef TCG_TARGET_WORDS_BIGENDIAN.
> Since the latter doesn't get defined anywhere this meant we always
> took the "LE host" codepath, and stored the two halves of the value
> in the wrong order on BE hosts. This typically breaks any 64-bit
> guest on a 32-bit BE host completely, and will have possibly more
> subtle effects even for 32-bit guests.
> 
> Switch the ifdef back to HOST_WORDS_BIGENDIAN.

Doh, not the first time we've screwed up such an ifdef...

> 
> Signed-off-by: Peter Maydell <address@hidden>
> ---
> I checked that with this fix we no longer fail catastrophically
> on the first insn of the x86-64 BIOS image, but since I don't have
> a convenient way to display the graphical screen from the PPC
> box I have access to I didn't check that it continued to do
> sensible things thereafter. Andreas, could you confirm this fixes
> the breakage you're seeing?

It fixes the observed make check breakage on ppc. i586 still works, too.

Tested-by: Andreas Färber <address@hidden>

I'll check VNC tomorrow. I'm assuming this is for-2.3 material.

Thanks a lot,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu,
Graham Norton; HRB 21284 (AG Nürnberg)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]