mirror of https://github.com/xemu-project/xemu.git
tcg: Remove TCG_CALL_PLUGIN
Since we no longer emit plugin helpers during the initial code translation phase, we don't need to specially mark plugin helpers. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
5f2a5a5b34
commit
b0748975b8
|
@ -353,8 +353,6 @@ typedef TCGv_ptr TCGv_env;
|
||||||
#define TCG_CALL_NO_SIDE_EFFECTS 0x0004
|
#define TCG_CALL_NO_SIDE_EFFECTS 0x0004
|
||||||
/* Helper is G_NORETURN. */
|
/* Helper is G_NORETURN. */
|
||||||
#define TCG_CALL_NO_RETURN 0x0008
|
#define TCG_CALL_NO_RETURN 0x0008
|
||||||
/* Helper is part of Plugins. */
|
|
||||||
#define TCG_CALL_PLUGIN 0x0010
|
|
||||||
|
|
||||||
/* convenience version of most used call flags */
|
/* convenience version of most used call flags */
|
||||||
#define TCG_CALL_NO_RWG TCG_CALL_NO_READ_GLOBALS
|
#define TCG_CALL_NO_RWG TCG_CALL_NO_READ_GLOBALS
|
||||||
|
|
|
@ -339,9 +339,8 @@ void plugin_register_dyn_cb__udata(GArray **arr,
|
||||||
void *udata)
|
void *udata)
|
||||||
{
|
{
|
||||||
static TCGHelperInfo info[3] = {
|
static TCGHelperInfo info[3] = {
|
||||||
[QEMU_PLUGIN_CB_NO_REGS].flags = TCG_CALL_NO_RWG | TCG_CALL_PLUGIN,
|
[QEMU_PLUGIN_CB_NO_REGS].flags = TCG_CALL_NO_RWG,
|
||||||
[QEMU_PLUGIN_CB_R_REGS].flags = TCG_CALL_NO_WG | TCG_CALL_PLUGIN,
|
[QEMU_PLUGIN_CB_R_REGS].flags = TCG_CALL_NO_WG,
|
||||||
[QEMU_PLUGIN_CB_RW_REGS].flags = TCG_CALL_PLUGIN,
|
|
||||||
/*
|
/*
|
||||||
* Match qemu_plugin_vcpu_udata_cb_t:
|
* Match qemu_plugin_vcpu_udata_cb_t:
|
||||||
* void (*)(uint32_t, void *)
|
* void (*)(uint32_t, void *)
|
||||||
|
@ -375,9 +374,8 @@ void plugin_register_vcpu_mem_cb(GArray **arr,
|
||||||
!__builtin_types_compatible_p(qemu_plugin_meminfo_t, int32_t));
|
!__builtin_types_compatible_p(qemu_plugin_meminfo_t, int32_t));
|
||||||
|
|
||||||
static TCGHelperInfo info[3] = {
|
static TCGHelperInfo info[3] = {
|
||||||
[QEMU_PLUGIN_CB_NO_REGS].flags = TCG_CALL_NO_RWG | TCG_CALL_PLUGIN,
|
[QEMU_PLUGIN_CB_NO_REGS].flags = TCG_CALL_NO_RWG,
|
||||||
[QEMU_PLUGIN_CB_R_REGS].flags = TCG_CALL_NO_WG | TCG_CALL_PLUGIN,
|
[QEMU_PLUGIN_CB_R_REGS].flags = TCG_CALL_NO_WG,
|
||||||
[QEMU_PLUGIN_CB_RW_REGS].flags = TCG_CALL_PLUGIN,
|
|
||||||
/*
|
/*
|
||||||
* Match qemu_plugin_vcpu_mem_cb_t:
|
* Match qemu_plugin_vcpu_mem_cb_t:
|
||||||
* void (*)(uint32_t, qemu_plugin_meminfo_t, uint64_t, void *)
|
* void (*)(uint32_t, qemu_plugin_meminfo_t, uint64_t, void *)
|
||||||
|
|
|
@ -2269,9 +2269,7 @@ static void tcg_gen_callN(void *func, TCGHelperInfo *info,
|
||||||
|
|
||||||
#ifdef CONFIG_PLUGIN
|
#ifdef CONFIG_PLUGIN
|
||||||
/* Flag helpers that may affect guest state */
|
/* Flag helpers that may affect guest state */
|
||||||
if (tcg_ctx->plugin_insn &&
|
if (tcg_ctx->plugin_insn && !(info->flags & TCG_CALL_NO_SIDE_EFFECTS)) {
|
||||||
!(info->flags & TCG_CALL_PLUGIN) &&
|
|
||||||
!(info->flags & TCG_CALL_NO_SIDE_EFFECTS)) {
|
|
||||||
tcg_ctx->plugin_insn->calls_helpers = true;
|
tcg_ctx->plugin_insn->calls_helpers = true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue