target/hexagon: Use explicit little-endian LD/ST API
The Hexagon 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' target/hexagon/); \ done Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20241004163042.85922-8-philmd@linaro.org>
This commit is contained in:
parent
c9ddc704f9
commit
ae412c0210
@ -52,7 +52,7 @@ int hexagon_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
|
||||
CPUHexagonState *env = cpu_env(cs);
|
||||
|
||||
if (n == HEX_REG_P3_0_ALIASED) {
|
||||
uint32_t p3_0 = ldl_p(mem_buf);
|
||||
uint32_t p3_0 = ldl_le_p(mem_buf);
|
||||
for (int i = 0; i < NUM_PREGS; i++) {
|
||||
env->pred[i] = extract32(p3_0, i * 8, 8);
|
||||
}
|
||||
@ -60,14 +60,14 @@ int hexagon_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
|
||||
}
|
||||
|
||||
if (n < TOTAL_PER_THREAD_REGS) {
|
||||
env->gpr[n] = ldl_p(mem_buf);
|
||||
env->gpr[n] = ldl_le_p(mem_buf);
|
||||
return sizeof(target_ulong);
|
||||
}
|
||||
|
||||
n -= TOTAL_PER_THREAD_REGS;
|
||||
|
||||
if (n < NUM_PREGS) {
|
||||
env->pred[n] = ldl_p(mem_buf) & 0xff;
|
||||
env->pred[n] = ldl_le_p(mem_buf) & 0xff;
|
||||
return sizeof(uint8_t);
|
||||
}
|
||||
|
||||
@ -117,7 +117,7 @@ static int gdb_put_vreg(CPUHexagonState *env, uint8_t *mem_buf, int n)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < ARRAY_SIZE(env->VRegs[n].uw); i++) {
|
||||
env->VRegs[n].uw[i] = ldl_p(mem_buf);
|
||||
env->VRegs[n].uw[i] = ldl_le_p(mem_buf);
|
||||
mem_buf += 4;
|
||||
}
|
||||
return MAX_VEC_SIZE_BYTES;
|
||||
@ -127,7 +127,7 @@ static int gdb_put_qreg(CPUHexagonState *env, uint8_t *mem_buf, int n)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < ARRAY_SIZE(env->QRegs[n].uw); i++) {
|
||||
env->QRegs[n].uw[i] = ldl_p(mem_buf);
|
||||
env->QRegs[n].uw[i] = ldl_le_p(mem_buf);
|
||||
mem_buf += 4;
|
||||
}
|
||||
return MAX_VEC_SIZE_BYTES / 8;
|
||||
|
Loading…
Reference in New Issue
Block a user