mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
accel/tcg: Replace target_ulong with vaddr in translator_*()
Use vaddr for guest virtual address in translator_use_goto_tb() and translator_loop(). Signed-off-by: Anton Johansson <anjo@rev.ng> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230621135633.1649-11-anjo@rev.ng> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
b0326eb999
commit
b1c09220b4
2 changed files with 8 additions and 8 deletions
|
@ -117,7 +117,7 @@ static void gen_tb_end(const TranslationBlock *tb, uint32_t cflags,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool translator_use_goto_tb(DisasContextBase *db, target_ulong dest)
|
bool translator_use_goto_tb(DisasContextBase *db, vaddr dest)
|
||||||
{
|
{
|
||||||
/* Suppress goto_tb if requested. */
|
/* Suppress goto_tb if requested. */
|
||||||
if (tb_cflags(db->tb) & CF_NO_GOTO_TB) {
|
if (tb_cflags(db->tb) & CF_NO_GOTO_TB) {
|
||||||
|
@ -129,8 +129,8 @@ bool translator_use_goto_tb(DisasContextBase *db, target_ulong dest)
|
||||||
}
|
}
|
||||||
|
|
||||||
void translator_loop(CPUState *cpu, TranslationBlock *tb, int *max_insns,
|
void translator_loop(CPUState *cpu, TranslationBlock *tb, int *max_insns,
|
||||||
target_ulong pc, void *host_pc,
|
vaddr pc, void *host_pc, const TranslatorOps *ops,
|
||||||
const TranslatorOps *ops, DisasContextBase *db)
|
DisasContextBase *db)
|
||||||
{
|
{
|
||||||
uint32_t cflags = tb_cflags(tb);
|
uint32_t cflags = tb_cflags(tb);
|
||||||
TCGOp *icount_start_insn;
|
TCGOp *icount_start_insn;
|
||||||
|
@ -235,10 +235,10 @@ void translator_loop(CPUState *cpu, TranslationBlock *tb, int *max_insns,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *translator_access(CPUArchState *env, DisasContextBase *db,
|
static void *translator_access(CPUArchState *env, DisasContextBase *db,
|
||||||
target_ulong pc, size_t len)
|
vaddr pc, size_t len)
|
||||||
{
|
{
|
||||||
void *host;
|
void *host;
|
||||||
target_ulong base, end;
|
vaddr base, end;
|
||||||
TranslationBlock *tb;
|
TranslationBlock *tb;
|
||||||
|
|
||||||
tb = db->tb;
|
tb = db->tb;
|
||||||
|
|
|
@ -142,8 +142,8 @@ typedef struct TranslatorOps {
|
||||||
* - When too many instructions have been translated.
|
* - When too many instructions have been translated.
|
||||||
*/
|
*/
|
||||||
void translator_loop(CPUState *cpu, TranslationBlock *tb, int *max_insns,
|
void translator_loop(CPUState *cpu, TranslationBlock *tb, int *max_insns,
|
||||||
target_ulong pc, void *host_pc,
|
vaddr pc, void *host_pc, const TranslatorOps *ops,
|
||||||
const TranslatorOps *ops, DisasContextBase *db);
|
DisasContextBase *db);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* translator_use_goto_tb
|
* translator_use_goto_tb
|
||||||
|
@ -153,7 +153,7 @@ void translator_loop(CPUState *cpu, TranslationBlock *tb, int *max_insns,
|
||||||
* Return true if goto_tb is allowed between the current TB
|
* Return true if goto_tb is allowed between the current TB
|
||||||
* and the destination PC.
|
* and the destination PC.
|
||||||
*/
|
*/
|
||||||
bool translator_use_goto_tb(DisasContextBase *db, target_ulong dest);
|
bool translator_use_goto_tb(DisasContextBase *db, vaddr dest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* translator_io_start
|
* translator_io_start
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue