qemu-arm
[Top][All Lists]
Advanced

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

Re: [Qemu-arm] [Qemu-devel] [PATCH v2] target/arm: Fix stlxp for aarch64


From: Richard Henderson
Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH v2] target/arm: Fix stlxp for aarch64_be
Date: Mon, 1 Jan 2018 15:06:21 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0

On 12/30/2017 02:56 PM, Michael Weiser wrote:
> ldxp loads two consecutive doublewords from memory regardless of CPU
> endianness. On store, stlxp currently assumes to work with a 128bit
> value and consequently switches order in big-endian mode. With this
> change it packs the doublewords in reverse order in anticipation of the
> 128bit big-endian store operation interposing them so they end up in
> memory in the right order. This makes it work for both MTTCG and !MTTCG.
> It effectively implements the ARM ARM STLXP operation pseudo-code:
> 
> data = if BigEndian() then el1:el2 else el2:el1;
> 
> With this change an aarch64_be Linux 4.14.4 kernel succeeds to boot up
> in system emulation mode.
> 
> Signed-off-by: Michael Weiser <address@hidden>
> ---
>  target/arm/helper-a64.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> v2:
> - make it work for MTTCG as well by catering to the 128bit expectation

Reviewed-by: Richard Henderson <address@hidden>


> +     * 128bit store but two doulbewords stored consecutively */
                               ^^ typo


r~



reply via email to

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