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é <[email protected]>
---
target/i386/helper.c | 12 ++++++------
target/i386/tcg/system/misc_helper.c | 16 ++++++++--------
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/target/i386/helper.c b/target/i386/helper.c
index f9f9488eb4d..c397a6fde5a 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 0c32424d36a..bb79d4e470e 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)
--
2.52.0