[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 2/6] target/arm: Make rvbar settable after realize
From: |
Luc Michel |
Subject: |
Re: [PATCH v1 2/6] target/arm: Make rvbar settable after realize |
Date: |
Thu, 3 Feb 2022 21:21:04 +0100 |
Hi Edgar,
On 00:12 Mon 31 Jan , 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
>
--
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v1 2/6] target/arm: Make rvbar settable after realize,
Luc Michel <=