[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 2/6] target/arm: Make rvbar settable after realize
From: |
Luc Michel |
Subject: |
Re: [PATCH v2 2/6] target/arm: Make rvbar settable after realize |
Date: |
Thu, 3 Feb 2022 21:33:35 +0100 |
Hi Edgar,
Oops I mistakenly answered on v1 :)
On 15:01 Thu 03 Feb , Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
>
> Make the rvbar property settable after realize. This is done
> in preparation to model the ZynqMP's runtime configurable rvbar.
>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
> ---
> target/arm/cpu.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/target/arm/cpu.c b/target/arm/cpu.c
> index 5a9c02a256..e30ae088fe 100644
> --- a/target/arm/cpu.c
> +++ b/target/arm/cpu.c
> @@ -1128,9 +1128,6 @@ static Property arm_cpu_reset_cbar_property =
> static Property arm_cpu_reset_hivecs_property =
> DEFINE_PROP_BOOL("reset-hivecs", ARMCPU, reset_hivecs, false);
>
> -static Property arm_cpu_rvbar_property =
> - DEFINE_PROP_UINT64("rvbar", ARMCPU, rvbar, 0);
> -
> #ifndef CONFIG_USER_ONLY
> static Property arm_cpu_has_el2_property =
> DEFINE_PROP_BOOL("has_el2", ARMCPU, has_el2, true);
> @@ -1233,7 +1230,9 @@ void arm_cpu_post_init(Object *obj)
> }
>
> if (arm_feature(&cpu->env, ARM_FEATURE_AARCH64)) {
> - qdev_property_add_static(DEVICE(obj), &arm_cpu_rvbar_property);
> + object_property_add_uint64_ptr(obj, "rvbar",
> + &cpu->rvbar,
> + OBJ_PROP_FLAG_READWRITE);
I think you may have a problem here. cpu->rvbar is used to define the
reset value of the rvbar_elx registers in register_cp_regs_for_features.
This is done at realize time. Changing the rvbar property after realize
would fail to update the rvbar_elx register values.
I guess you should also switch to a .readfn instead of a .resetvalue for
those registers.
--
Luc
> }
>
> #ifndef CONFIG_USER_ONLY
> --
> 2.25.1
>
--
- [PATCH v2 0/6] hw/arm: zynqmp: Add CRF and APU control to support PSCI, Edgar E. Iglesias, 2022/02/03
- [PATCH v2 1/6] hw/arm/xlnx-zynqmp: Add an unimplemented SERDES area, Edgar E. Iglesias, 2022/02/03
- [PATCH v2 4/6] hw/arm/xlnx-zynqmp: Connect the ZynqMP CRF, Edgar E. Iglesias, 2022/02/03
- [PATCH v2 2/6] target/arm: Make rvbar settable after realize, Edgar E. Iglesias, 2022/02/03
- Re: [PATCH v2 2/6] target/arm: Make rvbar settable after realize,
Luc Michel <=
- [PATCH v2 3/6] hw/misc: Add a model of the Xilinx ZynqMP CRF, Edgar E. Iglesias, 2022/02/03
- [PATCH v2 5/6] hw/misc: Add a model of the Xilinx ZynqMP APU Control, Edgar E. Iglesias, 2022/02/03
- [PATCH v2 6/6] hw/arm/xlnx-zynqmp: Connect the ZynqMP APU Control, Edgar E. Iglesias, 2022/02/03