[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 07/24] accel/tcg: Validate placement of CPUNegativeOffsetState
From: |
Richard Henderson |
Subject: |
[PATCH v2 07/24] accel/tcg: Validate placement of CPUNegativeOffsetState |
Date: |
Wed, 13 Sep 2023 19:44:18 -0700 |
Verify that the distance between CPUNegativeOffsetState and
CPUArchState is no greater than any alignment requirements.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
include/exec/cpu-all.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index c2c62160c6..86a7452b0d 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -459,6 +459,12 @@ static inline CPUState *env_cpu(CPUArchState *env)
return &env_archcpu(env)->parent_obj;
}
+/*
+ * Validate placement of CPUNegativeOffsetState.
+ */
+QEMU_BUILD_BUG_ON(offsetof(ArchCPU, env) - offsetof(ArchCPU, neg) >=
+ sizeof(CPUNegativeOffsetState) + __alignof(CPUArchState));
+
/**
* env_neg(env)
* @env: The architecture environment
--
2.34.1
- [PATCH v2 05/24] target/arm: Remove size and alignment for cpu subclasses, (continued)
- [PATCH v2 05/24] target/arm: Remove size and alignment for cpu subclasses, Richard Henderson, 2023/09/13
- [PATCH v2 04/24] target/*: Use __alignof not __alignof__, Richard Henderson, 2023/09/13
- [PATCH v2 08/24] accel/tcg: Move CPUNegativeOffsetState into CPUState, Richard Henderson, 2023/09/13
- [PATCH v2 09/24] accel/tcg: Remove CPUState.icount_decr_ptr, Richard Henderson, 2023/09/13
- [PATCH v2 06/24] target/*: Add instance_align to all cpu base classes, Richard Henderson, 2023/09/13
- [PATCH v2 07/24] accel/tcg: Validate placement of CPUNegativeOffsetState,
Richard Henderson <=
- [PATCH v2 10/24] accel/tcg: Move can_do_io to CPUNegativeOffsetState, Richard Henderson, 2023/09/13
- [PATCH v2 11/24] accel/tcg: Remove cpu_neg(), Richard Henderson, 2023/09/13
- [PATCH v2 13/24] accel/tcg: Replace CPUState.env_ptr with cpu_env(), Richard Henderson, 2023/09/13