The LoongArch architecture uses little endianness. Directly
use the little-endian LD/ST API.
Mechanical change using:
$ end=le; \
for acc in uw w l q tul; do \
sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
-e "s/st${acc}_p(/st${acc}_${end}_p(/" \
$(git grep -wlE '(ld|st)t?u?[wlq]_p' hw/loongarch/); \
done
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
hw/loongarch/virt.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index 49434ad1828..2a0e225d813 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -607,9 +607,9 @@ static MemTxResult virt_iocsr_misc_write(void *opaque,
hwaddr addr,
lvms->misc_status |= BIT_ULL(IOCSRM_DMSI_EN);
}
- features = address_space_ldl(&lvms->as_iocsr,
- EXTIOI_VIRT_BASE + EXTIOI_VIRT_CONFIG,
- attrs, NULL);
+ features = address_space_ldl_le(&lvms->as_iocsr,
+ EXTIOI_VIRT_BASE + EXTIOI_VIRT_CONFIG,
+ attrs, NULL);
if (val & BIT_ULL(IOCSRM_EXTIOI_EN)) {
features |= BIT(EXTIOI_ENABLE);
}
@@ -617,9 +617,9 @@ static MemTxResult virt_iocsr_misc_write(void *opaque,
hwaddr addr,
features |= BIT(EXTIOI_ENABLE_INT_ENCODE);
}
- address_space_stl(&lvms->as_iocsr,
- EXTIOI_VIRT_BASE + EXTIOI_VIRT_CONFIG,
- features, attrs, NULL);
+ address_space_stl_le(&lvms->as_iocsr,
+ EXTIOI_VIRT_BASE + EXTIOI_VIRT_CONFIG,
+ features, attrs, NULL);
break;
default:
g_assert_not_reached();
@@ -665,9 +665,9 @@ static MemTxResult virt_iocsr_misc_read(void *opaque,
hwaddr addr,
break;
}
- features = address_space_ldl(&lvms->as_iocsr,
- EXTIOI_VIRT_BASE + EXTIOI_VIRT_CONFIG,
- attrs, NULL);
+ features = address_space_ldl_le(&lvms->as_iocsr,
+ EXTIOI_VIRT_BASE + EXTIOI_VIRT_CONFIG,
+ attrs, NULL);
if (features & BIT(EXTIOI_ENABLE)) {
ret |= BIT_ULL(IOCSRM_EXTIOI_EN);
}
--
2.52.0