Inline internal address_space_ld/st[L,D,Q] helpers,
directly calling address_space_ldst[M]_internal().
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20260109165058.59144-14-philmd@linaro.org>
---
system/memory_ldst.c.inc | 47 ---------------------------------
system/memory_ldst_endian.c.inc | 12 ++++-----
2 files changed, 6 insertions(+), 53 deletions(-)
diff --git a/system/memory_ldst.c.inc b/system/memory_ldst.c.inc
index d51c5feddf7..ebb441f1a66 100644
--- a/system/memory_ldst.c.inc
+++ b/system/memory_ldst.c.inc
@@ -57,22 +57,6 @@ uint64_t glue(address_space_ldm_internal, SUFFIX)(ARG1_DECL, MemOp mop,
return val;
}
-/* warning: addr must be aligned */
-static inline uint32_t glue(address_space_ldl_internal, SUFFIX)(ARG1_DECL,
- MemOp mop, hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
-{
- return glue(address_space_ldm_internal, SUFFIX)(ARG1, mop | MO_32, addr,
- attrs, result);
-}
-
-/* warning: addr must be aligned */
-static inline uint64_t glue(address_space_ldq_internal, SUFFIX)(ARG1_DECL,
- MemOp mop, hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
-{
- return glue(address_space_ldm_internal, SUFFIX)(ARG1, mop | MO_64, addr,
- attrs, result);
-}
-
uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, hwaddr addr,
MemTxAttrs attrs, MemTxResult *result)
{
@@ -80,14 +64,6 @@ uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, hwaddr addr,
attrs, result);
}
-/* warning: addr must be aligned */
-static inline uint16_t glue(address_space_lduw_internal, SUFFIX)(ARG1_DECL,
- MemOp mop, hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
-{
- return glue(address_space_ldm_internal, SUFFIX)(ARG1, mop | MO_16, addr,
- attrs, result);
-}
-
/* warning: addr must be aligned */
static inline
void glue(address_space_stm_internal, SUFFIX)(ARG1_DECL, MemOp mop,
@@ -122,14 +98,6 @@ void glue(address_space_stm_internal, SUFFIX)(ARG1_DECL, MemOp mop,
RCU_READ_UNLOCK();
}
-/* warning: addr must be aligned */
-static inline void glue(address_space_stl_internal, SUFFIX)(ARG1_DECL,
- MemOp mop, hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result)
-{
- glue(address_space_stm_internal, SUFFIX)(ARG1, mop | MO_32, addr, val,
- attrs, result);
-}
-
void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t val,
MemTxAttrs attrs, MemTxResult *result)
{
@@ -137,21 +105,6 @@ void glue(address_space_stb, SUFFIX)(ARG1_DECL, hwaddr addr, uint8_t val,
attrs, result);
}
-/* warning: addr must be aligned */
-static inline void glue(address_space_stw_internal, SUFFIX)(ARG1_DECL,
- MemOp mop, hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result)
-{
- glue(address_space_stm_internal, SUFFIX)(ARG1, mop | MO_16, addr, val,
- attrs, result);
-}
-
-static inline void glue(address_space_stq_internal, SUFFIX)(ARG1_DECL,
- MemOp mop, hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result)
-{
- glue(address_space_stm_internal, SUFFIX)(ARG1, mop | MO_64, addr, val,
- attrs, result);
-}
-
#define ENDIANNESS
#define MO_ENDIAN (target_big_endian() ? MO_BE : MO_LE)
#include "memory_ldst_endian.c.inc"
diff --git a/system/memory_ldst_endian.c.inc b/system/memory_ldst_endian.c.inc
index 9cf36017135..fb933de11f8 100644
--- a/system/memory_ldst_endian.c.inc
+++ b/system/memory_ldst_endian.c.inc
@@ -22,42 +22,42 @@
uint16_t ADDRESS_SPACE_LD(uw)(ARG1_DECL, hwaddr addr,
MemTxAttrs attrs, MemTxResult *result)
{
- return ADDRESS_SPACE_LD_INTERNAL(uw)(ARG1, MO_ENDIAN,
+ return ADDRESS_SPACE_LD_INTERNAL(m)(ARG1, MO_ENDIAN | MO_16,
addr, attrs, result);
}
uint32_t ADDRESS_SPACE_LD(l)(ARG1_DECL, hwaddr addr,
MemTxAttrs attrs, MemTxResult *result)
{
- return ADDRESS_SPACE_LD_INTERNAL(l)(ARG1, MO_ENDIAN,
+ return ADDRESS_SPACE_LD_INTERNAL(m)(ARG1, MO_ENDIAN | MO_32,
addr, attrs, result);
}
uint64_t ADDRESS_SPACE_LD(q)(ARG1_DECL, hwaddr addr,
MemTxAttrs attrs, MemTxResult *result)
{
- return ADDRESS_SPACE_LD_INTERNAL(q)(ARG1, MO_ENDIAN,
+ return ADDRESS_SPACE_LD_INTERNAL(m)(ARG1, MO_ENDIAN | MO_64,
addr, attrs, result);
}
void ADDRESS_SPACE_ST(w)(ARG1_DECL, hwaddr addr, uint16_t val,
MemTxAttrs attrs, MemTxResult *result)
{
- ADDRESS_SPACE_ST_INTERNAL(w)(ARG1, MO_ENDIAN,
+ ADDRESS_SPACE_ST_INTERNAL(m)(ARG1, MO_ENDIAN | MO_16,
addr, val, attrs, result);
}
void ADDRESS_SPACE_ST(l)(ARG1_DECL, hwaddr addr, uint32_t val,
MemTxAttrs attrs, MemTxResult *result)
{
- ADDRESS_SPACE_ST_INTERNAL(l)(ARG1, MO_ENDIAN,
+ ADDRESS_SPACE_ST_INTERNAL(m)(ARG1, MO_ENDIAN | MO_32,
addr, val, attrs, result);
}
void ADDRESS_SPACE_ST(q)(ARG1_DECL, hwaddr addr, uint64_t val,
MemTxAttrs attrs, MemTxResult *result)
{
- ADDRESS_SPACE_ST_INTERNAL(q)(ARG1, MO_ENDIAN,
+ ADDRESS_SPACE_ST_INTERNAL(m)(ARG1, MO_ENDIAN | MO_64,
addr, val, attrs, result);
}
--
2.52.0