mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 15:15:46 +00:00
target/hppa: Use insn_start from DisasContextBase
To keep the multiple update check, replace insn_start with insn_start_updated. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
@ -44,7 +44,6 @@ typedef struct DisasCond {
|
|||||||
typedef struct DisasContext {
|
typedef struct DisasContext {
|
||||||
DisasContextBase base;
|
DisasContextBase base;
|
||||||
CPUState *cs;
|
CPUState *cs;
|
||||||
TCGOp *insn_start;
|
|
||||||
|
|
||||||
uint64_t iaoq_f;
|
uint64_t iaoq_f;
|
||||||
uint64_t iaoq_b;
|
uint64_t iaoq_b;
|
||||||
@ -62,6 +61,7 @@ typedef struct DisasContext {
|
|||||||
int privilege;
|
int privilege;
|
||||||
bool psw_n_nonzero;
|
bool psw_n_nonzero;
|
||||||
bool is_pa20;
|
bool is_pa20;
|
||||||
|
bool insn_start_updated;
|
||||||
|
|
||||||
#ifdef CONFIG_USER_ONLY
|
#ifdef CONFIG_USER_ONLY
|
||||||
MemOp unalign;
|
MemOp unalign;
|
||||||
@ -300,9 +300,9 @@ void hppa_translate_init(void)
|
|||||||
|
|
||||||
static void set_insn_breg(DisasContext *ctx, int breg)
|
static void set_insn_breg(DisasContext *ctx, int breg)
|
||||||
{
|
{
|
||||||
assert(ctx->insn_start != NULL);
|
assert(!ctx->insn_start_updated);
|
||||||
tcg_set_insn_start_param(ctx->insn_start, 2, breg);
|
ctx->insn_start_updated = true;
|
||||||
ctx->insn_start = NULL;
|
tcg_set_insn_start_param(ctx->base.insn_start, 2, breg);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DisasCond cond_make_f(void)
|
static DisasCond cond_make_f(void)
|
||||||
@ -4694,7 +4694,7 @@ static void hppa_tr_insn_start(DisasContextBase *dcbase, CPUState *cs)
|
|||||||
DisasContext *ctx = container_of(dcbase, DisasContext, base);
|
DisasContext *ctx = container_of(dcbase, DisasContext, base);
|
||||||
|
|
||||||
tcg_gen_insn_start(ctx->iaoq_f, ctx->iaoq_b, 0);
|
tcg_gen_insn_start(ctx->iaoq_f, ctx->iaoq_b, 0);
|
||||||
ctx->insn_start = tcg_last_op();
|
ctx->insn_start_updated = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void hppa_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
|
static void hppa_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
|
||||||
|
Reference in New Issue
Block a user