From: Philippe Mathieu-Daudé Date: Sat, 13 Dec 2025 18:15:14 +0000 (+0100) Subject: target/alpha: Use explicit little-endian LD/ST API X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=954072d255837e12bb6fd1aa6cae74a44fe5c7e2;p=thirdparty%2Fqemu.git target/alpha: Use explicit little-endian LD/ST API The Alpha architecture uses little endianness. Directly use the little-endian LD/ST API. Mechanical change running: $ for a in uw w l q; do \ sed -i -e "s/ld${a}_p(/ld${a}_le_p(/" \ $(git grep -wlE '(ld|st)u?[wlq]_p' target/alpha/); done Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Manos Pitsidianakis Reviewed-by: Richard Henderson Message-Id: <20251224160040.88612-2-philmd@linaro.org> --- diff --git a/target/alpha/helper.c b/target/alpha/helper.c index a9af52a928..80542cb066 100644 --- a/target/alpha/helper.c +++ b/target/alpha/helper.c @@ -214,17 +214,18 @@ static int get_physical_address(CPUAlphaState *env, target_ulong addr, pt = env->ptbr; - /* TODO: rather than using ldq_phys() to read the page table we should + /* + * TODO: rather than using ldq_phys_le() to read the page table we should * use address_space_ldq() so that we can handle the case when * the page table read gives a bus fault, rather than ignoring it. - * For the existing code the zero data that ldq_phys will return for + * For the existing code the zero data that ldq_phys_le will return for * an access to invalid memory will result in our treating the page * table as invalid, which may even be the right behaviour. */ /* L1 page table read. */ index = (addr >> (TARGET_PAGE_BITS + 20)) & 0x3ff; - L1pte = ldq_phys(cs->as, pt + index*8); + L1pte = ldq_phys_le(cs->as, pt + index * 8); if (unlikely((L1pte & PTE_VALID) == 0)) { ret = MM_K_TNV; @@ -237,7 +238,7 @@ static int get_physical_address(CPUAlphaState *env, target_ulong addr, /* L2 page table read. */ index = (addr >> (TARGET_PAGE_BITS + 10)) & 0x3ff; - L2pte = ldq_phys(cs->as, pt + index*8); + L2pte = ldq_phys_le(cs->as, pt + index * 8); if (unlikely((L2pte & PTE_VALID) == 0)) { ret = MM_K_TNV; @@ -250,7 +251,7 @@ static int get_physical_address(CPUAlphaState *env, target_ulong addr, /* L3 page table read. */ index = (addr >> TARGET_PAGE_BITS) & 0x3ff; - L3pte = ldq_phys(cs->as, pt + index*8); + L3pte = ldq_phys_le(cs->as, pt + index * 8); phys = L3pte >> 32 << TARGET_PAGE_BITS; if (unlikely((L3pte & PTE_VALID) == 0)) {