[PATCH 0/6] target/alpha: Use explicit little-endian LD/ST API

Philippe Mathieu-Daudé posted 6 patches 1 month, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20251224160040.88612-1-philmd@linaro.org
Maintainers: Laurent Vivier <laurent@vivier.eu>, Richard Henderson <richard.henderson@linaro.org>
There is a newer version of this series
configs/targets/alpha-linux-user.mak |  2 ++
configs/targets/alpha-softmmu.mak    |  2 ++
hw/alpha/dp264.c                     | 11 +++++------
hw/alpha/typhoon.c                   |  4 ++--
target/alpha/helper.c                | 28 +++++++++++++++++-----------
target/alpha/mem_helper.c            |  4 +++-
target/alpha/translate.c             |  4 ++--
7 files changed, 33 insertions(+), 22 deletions(-)
[PATCH 0/6] target/alpha: Use explicit little-endian LD/ST API
Posted by Philippe Mathieu-Daudé 1 month, 2 weeks ago
Alpha is little-endian. Use the explicit 'little'
endianness instead of the 'native' one.

Replace legacy ld/st_phys() calls. Forbid further
uses of legacy APIs.

tag: https://gitlab.com/philmd/qemu/-/tags/endian_alpha-v1
CI: https://gitlab.com/philmd/qemu/-/pipelines/2231223066

Philippe Mathieu-Daudé (6):
  hw/alpha: Use explicit little-endian LD/ST API
  target/alpha: Use explicit little-endian LD/ST API
  target/alpha: Inline cpu_ldl_code() call in do_unaligned_access()
  target/alpha: Inline translator_ldl()
  configs/targets: Forbid Alpha to use legacy native endianness APIs
  target/alpha: Replace legacy ld_phys() -> address_space_ld()

 configs/targets/alpha-linux-user.mak |  2 ++
 configs/targets/alpha-softmmu.mak    |  2 ++
 hw/alpha/dp264.c                     | 11 +++++------
 hw/alpha/typhoon.c                   |  4 ++--
 target/alpha/helper.c                | 28 +++++++++++++++++-----------
 target/alpha/mem_helper.c            |  4 +++-
 target/alpha/translate.c             |  4 ++--
 7 files changed, 33 insertions(+), 22 deletions(-)

-- 
2.52.0


Re: [PATCH 0/6] target/alpha: Use explicit little-endian LD/ST API
Posted by Richard Henderson 1 month, 1 week ago
On 12/25/25 03:00, Philippe Mathieu-Daudé wrote:
> Alpha is little-endian. Use the explicit 'little'
> endianness instead of the 'native' one.

Technically, Alpha can be run in big-endian mode, but we don't bother.
This was only ever used for the Cray T3[DE] machines.  :-)


r~

> 
> Replace legacy ld/st_phys() calls. Forbid further
> uses of legacy APIs.
> 
> tag: https://gitlab.com/philmd/qemu/-/tags/endian_alpha-v1
> CI: https://gitlab.com/philmd/qemu/-/pipelines/2231223066
> 
> Philippe Mathieu-Daudé (6):
>    hw/alpha: Use explicit little-endian LD/ST API
>    target/alpha: Use explicit little-endian LD/ST API
>    target/alpha: Inline cpu_ldl_code() call in do_unaligned_access()
>    target/alpha: Inline translator_ldl()
>    configs/targets: Forbid Alpha to use legacy native endianness APIs
>    target/alpha: Replace legacy ld_phys() -> address_space_ld()
> 
>   configs/targets/alpha-linux-user.mak |  2 ++
>   configs/targets/alpha-softmmu.mak    |  2 ++
>   hw/alpha/dp264.c                     | 11 +++++------
>   hw/alpha/typhoon.c                   |  4 ++--
>   target/alpha/helper.c                | 28 +++++++++++++++++-----------
>   target/alpha/mem_helper.c            |  4 +++-
>   target/alpha/translate.c             |  4 ++--
>   7 files changed, 33 insertions(+), 22 deletions(-)
>