diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2023-08-27 17:28:16 -0700 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2023-09-16 14:57:15 +0000 |
commit | da6aef48d9a1bcda301a3a922b240a2c1aba8026 (patch) | |
tree | 6ede686d1ac76b88d38245b1a3483048b88bfb4f /include/hw | |
parent | e8967b6152b2b1fd953943ad03189d8a8b7f637b (diff) | |
download | qemu-da6aef48d9a1bcda301a3a922b240a2c1aba8026.zip qemu-da6aef48d9a1bcda301a3a922b240a2c1aba8026.tar.gz qemu-da6aef48d9a1bcda301a3a922b240a2c1aba8026.tar.bz2 |
accel/tcg: Simplify tlb_plugin_lookup
Now that we defer address space update and tlb_flush until
the next async_run_on_cpu, the plugin run at the end of the
instruction no longer has to contend with a flushed tlb.
Therefore, delete SavedIOTLB entirely.
Properly return false from tlb_plugin_lookup when we do
not have a tlb match.
Fixes a bug in which SavedIOTLB had stale data, because
there were multiple i/o accesses within a single insn.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/hw')
-rw-r--r-- | include/hw/core/cpu.h | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 92a4234..648b5b3 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -227,17 +227,6 @@ struct CPUWatchpoint { QTAILQ_ENTRY(CPUWatchpoint) entry; }; -#ifdef CONFIG_PLUGIN -/* - * For plugins we sometime need to save the resolved iotlb data before - * the memory regions get moved around by io_writex. - */ -typedef struct SavedIOTLB { - MemoryRegionSection *section; - hwaddr mr_offset; -} SavedIOTLB; -#endif - struct KVMState; struct kvm_run; @@ -409,8 +398,6 @@ struct CPUState { #ifdef CONFIG_PLUGIN GArray *plugin_mem_cbs; - /* saved iotlb data from io_writex */ - SavedIOTLB saved_iotlb; #endif /* TODO Move common fields from CPUArchState here. */ |