[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 03/24] qom: Propagate alignment through type system
From: |
Richard Henderson |
Subject: |
[PATCH v2 03/24] qom: Propagate alignment through type system |
Date: |
Wed, 13 Sep 2023 19:44:14 -0700 |
Propagate alignment just like size. This is required in
order to get the correct alignment on most cpu subclasses
where the size and alignment is only specified for the
base cpu type.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
qom/object.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/qom/object.c b/qom/object.c
index e25f1e96db..8557fe8e4e 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -220,6 +220,19 @@ static size_t type_object_get_size(TypeImpl *ti)
return 0;
}
+static size_t type_object_get_align(TypeImpl *ti)
+{
+ if (ti->instance_align) {
+ return ti->instance_align;
+ }
+
+ if (type_has_parent(ti)) {
+ return type_object_get_align(type_get_parent(ti));
+ }
+
+ return 0;
+}
+
size_t object_type_get_instance_size(const char *typename)
{
TypeImpl *type = type_get_by_name(typename);
@@ -293,6 +306,7 @@ static void type_initialize(TypeImpl *ti)
ti->class_size = type_class_get_size(ti);
ti->instance_size = type_object_get_size(ti);
+ ti->instance_align = type_object_get_align(ti);
/* Any type with zero instance_size is implicitly abstract.
* This means interface types are all abstract.
*/
--
2.34.1
- [PATCH v2 00/24] Reduce usage of CPUArchState in cputlb.c, Richard Henderson, 2023/09/13
- [PATCH v2 03/24] qom: Propagate alignment through type system,
Richard Henderson <=
- [PATCH v2 02/24] accel/tcg: Move CPUTLB definitions from cpu-defs.h, Richard Henderson, 2023/09/13
- [PATCH v2 01/24] target/arm: Replace TARGET_PAGE_ENTRY_EXTRA, Richard Henderson, 2023/09/13
- [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