[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH v3 2/5] ppc64: Fix semihosting on ppc64le
From: |
Alex Bennée |
Subject: |
Re: [RFC PATCH v3 2/5] ppc64: Fix semihosting on ppc64le |
Date: |
Thu, 21 Apr 2022 10:43:25 +0100 |
User-agent: |
mu4e 1.7.13; emacs 28.1.50 |
Peter Maydell <peter.maydell@linaro.org> writes:
> On Wed, 20 Apr 2022 at 20:52, Richard Henderson
> <richard.henderson@linaro.org> wrote:
>>
>> On 4/20/22 12:42, Peter Maydell wrote:
>> > On Mon, 18 Apr 2022 at 20:19, Leandro Lupori
>> > <leandro.lupori@eldorado.org.br> wrote:
>> >>
>> >> PPC64 CPUs can change its endian dynamically, so semihosting code
>> >> must check its MSR at run time to determine if byte swapping is
>> >> needed.
>> >
>> > Arm CPUs also change endianness dynamically, so why is this
>> > change PPC-specific ?
>>
>> I'm reasonably certain that we simply don't test armbe or aarch64_be
>> semihosting. Leandro
>> found this because qemu-system-ppc64 defaults to BE and qemu-system-aarch64
>> defaults to LE.
>
> Right, so if there's an existing bug here on arm we should fix that,
> and that probably means that the abstraction split between
> "arch-specific thing" and "non-arch-specific code" is different
> from "PPC just overrides the entire swap function".
I think the helper function cpu_virtio_is_big_endian is really just a
proxy for the data endianess mode of the guest. Perhaps it could be
re-named and then used by the semihosting code?
--
Alex Bennée
- Re: [RFC PATCH v3 3/5] tests/tcg/ppc64: Add basic softmmu test support, (continued)
[RFC PATCH v3 2/5] ppc64: Fix semihosting on ppc64le, Leandro Lupori, 2022/04/18
[RFC PATCH v3 5/5] tests/tcg/ppc64: Build PowerNV and LE tests, Leandro Lupori, 2022/04/18