[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 34/71] target/arm: Generalize cpu_arm_{get, set}_default_vec_len
From: |
Richard Henderson |
Subject: |
[PATCH 34/71] target/arm: Generalize cpu_arm_{get, set}_default_vec_len |
Date: |
Thu, 2 Jun 2022 14:48:16 -0700 |
Rename from cpu_arm_{get,set}_sve_default_vec_len,
and take the pointer to default_vq from opaque.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/cpu64.c | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
index dcec0a6559..c5bfc3d082 100644
--- a/target/arm/cpu64.c
+++ b/target/arm/cpu64.c
@@ -638,11 +638,11 @@ static void cpu_arm_set_sve(Object *obj, bool value,
Error **errp)
#ifdef CONFIG_USER_ONLY
/* Mirror linux /proc/sys/abi/sve_default_vector_length. */
-static void cpu_arm_set_sve_default_vec_len(Object *obj, Visitor *v,
- const char *name, void *opaque,
- Error **errp)
+static void cpu_arm_set_default_vec_len(Object *obj, Visitor *v,
+ const char *name, void *opaque,
+ Error **errp)
{
- ARMCPU *cpu = ARM_CPU(obj);
+ uint32_t *ptr_default_vq = opaque;
int32_t default_len, default_vq, remainder;
if (!visit_type_int32(v, name, &default_len, errp)) {
@@ -651,7 +651,7 @@ static void cpu_arm_set_sve_default_vec_len(Object *obj,
Visitor *v,
/* Undocumented, but the kernel allows -1 to indicate "maximum". */
if (default_len == -1) {
- cpu->sve_default_vq = ARM_MAX_VQ;
+ *ptr_default_vq = ARM_MAX_VQ;
return;
}
@@ -675,15 +675,15 @@ static void cpu_arm_set_sve_default_vec_len(Object *obj,
Visitor *v,
return;
}
- cpu->sve_default_vq = default_vq;
+ *ptr_default_vq = default_vq;
}
-static void cpu_arm_get_sve_default_vec_len(Object *obj, Visitor *v,
- const char *name, void *opaque,
- Error **errp)
+static void cpu_arm_get_default_vec_len(Object *obj, Visitor *v,
+ const char *name, void *opaque,
+ Error **errp)
{
- ARMCPU *cpu = ARM_CPU(obj);
- int32_t value = cpu->sve_default_vq * 16;
+ uint32_t *ptr_default_vq = opaque;
+ int32_t value = *ptr_default_vq * 16;
visit_type_int32(v, name, &value, errp);
}
@@ -706,8 +706,9 @@ void aarch64_add_sve_properties(Object *obj)
#ifdef CONFIG_USER_ONLY
/* Mirror linux /proc/sys/abi/sve_default_vector_length. */
object_property_add(obj, "sve-default-vector-length", "int32",
- cpu_arm_get_sve_default_vec_len,
- cpu_arm_set_sve_default_vec_len, NULL, NULL);
+ cpu_arm_get_default_vec_len,
+ cpu_arm_set_default_vec_len, NULL,
+ &cpu->sve_default_vq);
#endif
}
--
2.34.1
- [PATCH 33/71] target/arm: Generalize cpu_arm_{get,set}_vq, (continued)
- [PATCH 33/71] target/arm: Generalize cpu_arm_{get,set}_vq, Richard Henderson, 2022/06/02
- [PATCH 31/71] target/arm: Move error for sve%d property to arm_cpu_sve_finalize, Richard Henderson, 2022/06/02
- [PATCH 32/71] target/arm: Create ARMVQMap, Richard Henderson, 2022/06/02
- [PATCH 35/71] target/arm: Move arm_cpu_*_finalize to internals.h, Richard Henderson, 2022/06/02
- [PATCH 36/71] target/arm: Unexport aarch64_add_*_properties, Richard Henderson, 2022/06/02
- [PATCH 34/71] target/arm: Generalize cpu_arm_{get, set}_default_vec_len,
Richard Henderson <=
- [PATCH 39/71] target/arm: Add SVL to TB flags, Richard Henderson, 2022/06/02
- [PATCH 26/71] target/arm: Add SMCR_ELx, Richard Henderson, 2022/06/02
- [PATCH 38/71] target/arm: Introduce sve_vqm1_for_el_sm, Richard Henderson, 2022/06/02
- [PATCH 37/71] target/arm: Add cpu properties for SME, Richard Henderson, 2022/06/02