From: Philippe Mathieu-Daudé Date: Sat, 13 Dec 2025 17:58:11 +0000 (+0100) Subject: target/i386: Use explicit little-endian LD/ST API X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c2e7579505bf62204d650bb3329d147d2df096bd;p=thirdparty%2Fqemu.git target/i386: Use explicit little-endian LD/ST API The x86 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/i386/); done Coding style adapted manually. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20260204204103.46343-2-philmd@linaro.org> --- diff --git a/target/i386/helper.c b/target/i386/helper.c index f9f9488eb4..c397a6fde5 100644 --- a/target/i386/helper.c +++ b/target/i386/helper.c @@ -669,7 +669,7 @@ uint32_t x86_lduw_phys(CPUState *cs, hwaddr addr) MemTxAttrs attrs = cpu_get_mem_attrs(env); AddressSpace *as = cpu_addressspace(cs, attrs); - return address_space_lduw(as, addr, attrs, NULL); + return address_space_lduw_le(as, addr, attrs, NULL); } uint32_t x86_ldl_phys(CPUState *cs, hwaddr addr) @@ -679,7 +679,7 @@ uint32_t x86_ldl_phys(CPUState *cs, hwaddr addr) MemTxAttrs attrs = cpu_get_mem_attrs(env); AddressSpace *as = cpu_addressspace(cs, attrs); - return address_space_ldl(as, addr, attrs, NULL); + return address_space_ldl_le(as, addr, attrs, NULL); } uint64_t x86_ldq_phys(CPUState *cs, hwaddr addr) @@ -689,7 +689,7 @@ uint64_t x86_ldq_phys(CPUState *cs, hwaddr addr) MemTxAttrs attrs = cpu_get_mem_attrs(env); AddressSpace *as = cpu_addressspace(cs, attrs); - return address_space_ldq(as, addr, attrs, NULL); + return address_space_ldq_le(as, addr, attrs, NULL); } void x86_stb_phys(CPUState *cs, hwaddr addr, uint8_t val) @@ -709,7 +709,7 @@ void x86_stw_phys(CPUState *cs, hwaddr addr, uint32_t val) MemTxAttrs attrs = cpu_get_mem_attrs(env); AddressSpace *as = cpu_addressspace(cs, attrs); - address_space_stw(as, addr, val, attrs, NULL); + address_space_stw_le(as, addr, val, attrs, NULL); } void x86_stl_phys(CPUState *cs, hwaddr addr, uint32_t val) @@ -719,7 +719,7 @@ void x86_stl_phys(CPUState *cs, hwaddr addr, uint32_t val) MemTxAttrs attrs = cpu_get_mem_attrs(env); AddressSpace *as = cpu_addressspace(cs, attrs); - address_space_stl(as, addr, val, attrs, NULL); + address_space_stl_le(as, addr, val, attrs, NULL); } void x86_stq_phys(CPUState *cs, hwaddr addr, uint64_t val) @@ -729,6 +729,6 @@ void x86_stq_phys(CPUState *cs, hwaddr addr, uint64_t val) MemTxAttrs attrs = cpu_get_mem_attrs(env); AddressSpace *as = cpu_addressspace(cs, attrs); - address_space_stq(as, addr, val, attrs, NULL); + address_space_stq_le(as, addr, val, attrs, NULL); } #endif diff --git a/target/i386/tcg/system/misc_helper.c b/target/i386/tcg/system/misc_helper.c index 0c32424d36..bb79d4e470 100644 --- a/target/i386/tcg/system/misc_helper.c +++ b/target/i386/tcg/system/misc_helper.c @@ -42,26 +42,26 @@ target_ulong helper_inb(CPUX86State *env, uint32_t port) void helper_outw(CPUX86State *env, uint32_t port, uint32_t data) { - address_space_stw(&address_space_io, port, data, - cpu_get_mem_attrs(env), NULL); + address_space_stw_le(&address_space_io, port, data, + cpu_get_mem_attrs(env), NULL); } target_ulong helper_inw(CPUX86State *env, uint32_t port) { - return address_space_lduw(&address_space_io, port, - cpu_get_mem_attrs(env), NULL); + return address_space_lduw_le(&address_space_io, port, + cpu_get_mem_attrs(env), NULL); } void helper_outl(CPUX86State *env, uint32_t port, uint32_t data) { - address_space_stl(&address_space_io, port, data, - cpu_get_mem_attrs(env), NULL); + address_space_stl_le(&address_space_io, port, data, + cpu_get_mem_attrs(env), NULL); } target_ulong helper_inl(CPUX86State *env, uint32_t port) { - return address_space_ldl(&address_space_io, port, - cpu_get_mem_attrs(env), NULL); + return address_space_ldl_le(&address_space_io, port, + cpu_get_mem_attrs(env), NULL); } target_ulong helper_read_cr8(CPUX86State *env)