mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 10:34:58 -06:00
exec: Make stq_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
This commit is contained in:
parent
41701aa4ee
commit
f606604f1c
18 changed files with 131 additions and 91 deletions
|
@ -106,7 +106,7 @@ DEF_HELPER_2(ldq_phys, i64, env, i64)
|
|||
DEF_HELPER_2(ldl_l_phys, i64, env, i64)
|
||||
DEF_HELPER_2(ldq_l_phys, i64, env, i64)
|
||||
DEF_HELPER_2(stl_phys, void, i64, i64)
|
||||
DEF_HELPER_2(stq_phys, void, i64, i64)
|
||||
DEF_HELPER_3(stq_phys, void, env, i64, i64)
|
||||
DEF_HELPER_3(stl_c_phys, i64, env, i64, i64)
|
||||
DEF_HELPER_3(stq_c_phys, i64, env, i64, i64)
|
||||
|
||||
|
|
|
@ -55,9 +55,10 @@ void helper_stl_phys(uint64_t p, uint64_t v)
|
|||
stl_phys(p, v);
|
||||
}
|
||||
|
||||
void helper_stq_phys(uint64_t p, uint64_t v)
|
||||
void helper_stq_phys(CPUAlphaState *env, uint64_t p, uint64_t v)
|
||||
{
|
||||
stq_phys(p, v);
|
||||
CPUState *cs = ENV_GET_CPU(env);
|
||||
stq_phys(cs->as, p, v);
|
||||
}
|
||||
|
||||
uint64_t helper_stl_c_phys(CPUAlphaState *env, uint64_t p, uint64_t v)
|
||||
|
@ -85,7 +86,7 @@ uint64_t helper_stq_c_phys(CPUAlphaState *env, uint64_t p, uint64_t v)
|
|||
if (p == env->lock_addr) {
|
||||
uint64_t old = ldq_phys(cs->as, p);
|
||||
if (old == env->lock_value) {
|
||||
stq_phys(p, v);
|
||||
stq_phys(cs->as, p, v);
|
||||
ret = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3229,7 +3229,7 @@ static ExitStatus translate_one(DisasContext *ctx, uint32_t insn)
|
|||
break;
|
||||
case 0x1:
|
||||
/* Quadword physical access */
|
||||
gen_helper_stq_phys(addr, val);
|
||||
gen_helper_stq_phys(cpu_env, addr, val);
|
||||
break;
|
||||
case 0x2:
|
||||
/* Longword physical access with lock */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue