mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-07-10 15:07:26 +00:00
target-arm: Combine user-only and softmmu get/set_r13_banked()
The user-mode versions of get/set_r13_banked() exist just to assert if they're ever called -- the translate time code should never emit calls to them because SRS from user mode always UNDEF. There's no code in the softmmu versions that can't compile in CONFIG_USER_ONLY, and the assertion is not particularly useful, so combine the two functions rather than having completely split versions under ifdefs. Backports commit d86d57d4fe683c99823f625f941eff26c07c72c3 from qemu
This commit is contained in:
parent
3d4f8b2d8f
commit
88d21504e4
|
@ -457,24 +457,6 @@ void HELPER(set_user_reg)(CPUARMState *env, uint32_t regno, uint32_t val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_USER_ONLY)
|
|
||||||
void HELPER(set_r13_banked)(CPUARMState *env, uint32_t mode, uint32_t val)
|
|
||||||
{
|
|
||||||
ARMCPU *cpu = arm_env_get_cpu(env);
|
|
||||||
|
|
||||||
cpu_abort(CPU(cpu), "banked r13 write\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t HELPER(get_r13_banked)(CPUARMState *env, uint32_t mode)
|
|
||||||
{
|
|
||||||
ARMCPU *cpu = arm_env_get_cpu(env);
|
|
||||||
|
|
||||||
cpu_abort(CPU(cpu), "banked r13 read\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
void HELPER(set_r13_banked)(CPUARMState *env, uint32_t mode, uint32_t val)
|
void HELPER(set_r13_banked)(CPUARMState *env, uint32_t mode, uint32_t val)
|
||||||
{
|
{
|
||||||
if ((env->uncached_cpsr & CPSR_M) == mode) {
|
if ((env->uncached_cpsr & CPSR_M) == mode) {
|
||||||
|
@ -492,7 +474,6 @@ uint32_t HELPER(get_r13_banked)(CPUARMState *env, uint32_t mode)
|
||||||
return env->banked_r13[bank_number(mode)];
|
return env->banked_r13[bank_number(mode)];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void HELPER(access_check_cp_reg)(CPUARMState *env, void *rip, uint32_t syndrome,
|
void HELPER(access_check_cp_reg)(CPUARMState *env, void *rip, uint32_t syndrome,
|
||||||
uint32_t isread)
|
uint32_t isread)
|
||||||
|
|
Loading…
Reference in a new issue