aboutsummaryrefslogtreecommitdiff
path: root/include/hw
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-08-27 17:28:16 -0700
committerRichard Henderson <richard.henderson@linaro.org>2023-09-16 14:57:15 +0000
commitda6aef48d9a1bcda301a3a922b240a2c1aba8026 (patch)
tree6ede686d1ac76b88d38245b1a3483048b88bfb4f /include/hw
parente8967b6152b2b1fd953943ad03189d8a8b7f637b (diff)
downloadqemu-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.h13
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. */