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/core/cpu.h | |
| parent | e8967b6152b2b1fd953943ad03189d8a8b7f637b (diff) | |
| download | focaccia-qemu-da6aef48d9a1bcda301a3a922b240a2c1aba8026.tar.gz focaccia-qemu-da6aef48d9a1bcda301a3a922b240a2c1aba8026.zip | |
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/core/cpu.h')
| -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 92a4234439..648b5b3586 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. */ |