tcg: introduce **tcg_ctxs to keep track of all TCGContext's

Groundwork for supporting multiple TCG contexts.

Note that having n_tcg_ctxs is unnecessary. However, it is
convenient to have it, since it will simplify iterating over the
array: we'll have just a for loop instead of having to iterate
over a NULL-terminated array (which would require n+1 elems)
or having to check with ifdef's for usermode/softmmu.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Emilio G. Cota <cota@braap.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Emilio G. Cota 2017-07-12 18:26:40 -04:00 committed by Richard Henderson
parent 26689780f8
commit df2cce2968
1 changed files with 5 additions and 0 deletions

View File

@ -118,6 +118,9 @@ static bool tcg_out_ldst_finalize(TCGContext *s);
#define TCG_HIGHWATER 1024
static TCGContext **tcg_ctxs;
static unsigned int n_tcg_ctxs;
static TCGRegSet tcg_target_available_regs[2];
static TCGRegSet tcg_target_call_clobber_regs;
@ -384,6 +387,8 @@ void tcg_context_init(TCGContext *s)
}
tcg_ctx = s;
tcg_ctxs = &tcg_ctx;
n_tcg_ctxs = 1;
}
/*