12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*
- * Copyright (C) 2017, Emilio G. Cota <cota@braap.org>
- *
- * License: GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- *
- * plugin-gen.h - TCG-dependent definitions for generating plugin code
- *
- * This header should be included only from plugin.c and C files that emit
- * TCG code.
- */
- #ifndef QEMU_PLUGIN_GEN_H
- #define QEMU_PLUGIN_GEN_H
- #include "tcg/tcg.h"
- struct DisasContextBase;
- #ifdef CONFIG_PLUGIN
- bool plugin_gen_tb_start(CPUState *cpu, const struct DisasContextBase *db);
- void plugin_gen_tb_end(CPUState *cpu, size_t num_insns);
- void plugin_gen_insn_start(CPUState *cpu, const struct DisasContextBase *db);
- void plugin_gen_insn_end(void);
- void plugin_gen_disable_mem_helpers(void);
- #else /* !CONFIG_PLUGIN */
- static inline
- bool plugin_gen_tb_start(CPUState *cpu, const struct DisasContextBase *db)
- {
- return false;
- }
- static inline
- void plugin_gen_insn_start(CPUState *cpu, const struct DisasContextBase *db)
- { }
- static inline void plugin_gen_insn_end(void)
- { }
- static inline void plugin_gen_tb_end(CPUState *cpu, size_t num_insns)
- { }
- static inline void plugin_gen_disable_mem_helpers(void)
- { }
- #endif /* CONFIG_PLUGIN */
- #endif /* QEMU_PLUGIN_GEN_H */
|