mirror of https://github.com/xemu-project/xemu.git
Hexagon (target/hexagon) remove put_user_*/get_user_*
Replace put_user_* with cpu_st*_data_ra Replace get_user_* with cpu_ld*_data_ra Suggested-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Taylor Simpson <tsimpson@quicinc.com> Message-Id: <1626384156-6248-2-git-send-email-tsimpson@quicinc.com>
This commit is contained in:
parent
7457b407ed
commit
4699a92779
|
@ -17,6 +17,7 @@
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qemu.h"
|
#include "qemu.h"
|
||||||
|
#include "exec/cpu_ldst.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
#include "fpu/softfloat.h"
|
#include "fpu/softfloat.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
|
@ -140,22 +141,22 @@ void HELPER(debug_check_store_width)(CPUHexagonState *env, int slot, int check)
|
||||||
|
|
||||||
void HELPER(commit_store)(CPUHexagonState *env, int slot_num)
|
void HELPER(commit_store)(CPUHexagonState *env, int slot_num)
|
||||||
{
|
{
|
||||||
switch (env->mem_log_stores[slot_num].width) {
|
uintptr_t ra = GETPC();
|
||||||
|
uint8_t width = env->mem_log_stores[slot_num].width;
|
||||||
|
target_ulong va = env->mem_log_stores[slot_num].va;
|
||||||
|
|
||||||
|
switch (width) {
|
||||||
case 1:
|
case 1:
|
||||||
put_user_u8(env->mem_log_stores[slot_num].data32,
|
cpu_stb_data_ra(env, va, env->mem_log_stores[slot_num].data32, ra);
|
||||||
env->mem_log_stores[slot_num].va);
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
put_user_u16(env->mem_log_stores[slot_num].data32,
|
cpu_stw_data_ra(env, va, env->mem_log_stores[slot_num].data32, ra);
|
||||||
env->mem_log_stores[slot_num].va);
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
put_user_u32(env->mem_log_stores[slot_num].data32,
|
cpu_stl_data_ra(env, va, env->mem_log_stores[slot_num].data32, ra);
|
||||||
env->mem_log_stores[slot_num].va);
|
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
put_user_u64(env->mem_log_stores[slot_num].data64,
|
cpu_stq_data_ra(env, va, env->mem_log_stores[slot_num].data64, ra);
|
||||||
env->mem_log_stores[slot_num].va);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
g_assert_not_reached();
|
g_assert_not_reached();
|
||||||
|
@ -393,37 +394,33 @@ static void check_noshuf(CPUHexagonState *env, uint32_t slot)
|
||||||
static uint8_t mem_load1(CPUHexagonState *env, uint32_t slot,
|
static uint8_t mem_load1(CPUHexagonState *env, uint32_t slot,
|
||||||
target_ulong vaddr)
|
target_ulong vaddr)
|
||||||
{
|
{
|
||||||
uint8_t retval;
|
uintptr_t ra = GETPC();
|
||||||
check_noshuf(env, slot);
|
check_noshuf(env, slot);
|
||||||
get_user_u8(retval, vaddr);
|
return cpu_ldub_data_ra(env, vaddr, ra);
|
||||||
return retval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint16_t mem_load2(CPUHexagonState *env, uint32_t slot,
|
static uint16_t mem_load2(CPUHexagonState *env, uint32_t slot,
|
||||||
target_ulong vaddr)
|
target_ulong vaddr)
|
||||||
{
|
{
|
||||||
uint16_t retval;
|
uintptr_t ra = GETPC();
|
||||||
check_noshuf(env, slot);
|
check_noshuf(env, slot);
|
||||||
get_user_u16(retval, vaddr);
|
return cpu_lduw_data_ra(env, vaddr, ra);
|
||||||
return retval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint32_t mem_load4(CPUHexagonState *env, uint32_t slot,
|
static uint32_t mem_load4(CPUHexagonState *env, uint32_t slot,
|
||||||
target_ulong vaddr)
|
target_ulong vaddr)
|
||||||
{
|
{
|
||||||
uint32_t retval;
|
uintptr_t ra = GETPC();
|
||||||
check_noshuf(env, slot);
|
check_noshuf(env, slot);
|
||||||
get_user_u32(retval, vaddr);
|
return cpu_ldl_data_ra(env, vaddr, ra);
|
||||||
return retval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint64_t mem_load8(CPUHexagonState *env, uint32_t slot,
|
static uint64_t mem_load8(CPUHexagonState *env, uint32_t slot,
|
||||||
target_ulong vaddr)
|
target_ulong vaddr)
|
||||||
{
|
{
|
||||||
uint64_t retval;
|
uintptr_t ra = GETPC();
|
||||||
check_noshuf(env, slot);
|
check_noshuf(env, slot);
|
||||||
get_user_u64(retval, vaddr);
|
return cpu_ldq_data_ra(env, vaddr, ra);
|
||||||
return retval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Floating point */
|
/* Floating point */
|
||||||
|
|
Loading…
Reference in New Issue