aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-09-15 15:41:39 -0700
committerRichard Henderson <richard.henderson@linaro.org>2023-10-03 08:01:02 -0700
commit464dacf6090d859a919596ba7452498c7446ced1 (patch)
tree40dff34bf19b1d9282232877d443a43fb4be8217 /include
parente62de981113350194f9c1f78a6a8fd35c03b1599 (diff)
downloadqemu-464dacf6090d859a919596ba7452498c7446ced1.zip
qemu-464dacf6090d859a919596ba7452498c7446ced1.tar.gz
qemu-464dacf6090d859a919596ba7452498c7446ced1.tar.bz2
accel/tcg: Move can_do_io to CPUNegativeOffsetState
Minimize the displacement to can_do_io, since it may be touched at the start of each TranslationBlock. It fits into other padding within the substructure. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/hw/core/cpu.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 973ff9d..293cedd 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -351,6 +351,7 @@ typedef union IcountDecr {
typedef struct CPUNegativeOffsetState {
CPUTLB tlb;
IcountDecr icount_decr;
+ bool can_do_io;
} CPUNegativeOffsetState;
typedef struct CPUBreakpoint {
@@ -420,9 +421,7 @@ struct qemu_work_item;
* @crash_occurred: Indicates the OS reported a crash (panic) for this CPU
* @singlestep_enabled: Flags for single-stepping.
* @icount_extra: Instructions until next timer event.
- * @can_do_io: Nonzero if memory-mapped IO is safe. Deterministic execution
- * requires that IO only be performed on the last instruction of a TB
- * so that interrupts take effect immediately.
+ * @neg.can_do_io: True if memory-mapped IO is allowed.
* @cpu_ases: Pointer to array of CPUAddressSpaces (which define the
* AddressSpaces this CPU has)
* @num_ases: number of CPUAddressSpaces in @cpu_ases
@@ -547,7 +546,6 @@ struct CPUState {
int cluster_index;
uint32_t tcg_cflags;
uint32_t halted;
- uint32_t can_do_io;
int32_t exception_index;
AccelCPUState *accel;