On Wed, May 25, 2016 at 3:52 AM, Edgar E. Iglesias
wrote:
> From: "Edgar E. Iglesias"
>
> Add a secure prop to en/disable ARM Security Extensions.
> This is particularly useful for KVM runs.
>
> Default to disabled to match the behavior of KVM.
>
> This changes the default setup from having the ARM Security
> Extensions to not longer having them.
>
> Signed-off-by: Edgar E. Iglesias
Looks good to me
Reviewed-by: Alistair Francis
Thanks,
Alistair
> ---
> hw/arm/xlnx-zynqmp.c | 3 +++
> include/hw/arm/xlnx-zynqmp.h | 3 +++
> 2 files changed, 6 insertions(+)
>
> diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
> index 4d504da..965a250 100644
> --- a/hw/arm/xlnx-zynqmp.c
> +++ b/hw/arm/xlnx-zynqmp.c
> @@ -238,6 +238,8 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error
> **errp)
> }
> g_free(name);
>
> +object_property_set_bool(OBJECT(>apu_cpu[i]),
> + s->secure, "has_el3", NULL);
> object_property_set_int(OBJECT(>apu_cpu[i]), GIC_BASE_ADDR,
> "reset-cbar", _abort);
> object_property_set_bool(OBJECT(>apu_cpu[i]), true, "realized",
> @@ -370,6 +372,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error
> **errp)
>
> static Property xlnx_zynqmp_props[] = {
> DEFINE_PROP_STRING("boot-cpu", XlnxZynqMPState, boot_cpu),
> +DEFINE_PROP_BOOL("secure", XlnxZynqMPState, secure, false),
> DEFINE_PROP_END_OF_LIST()
> };
>
> diff --git a/include/hw/arm/xlnx-zynqmp.h b/include/hw/arm/xlnx-zynqmp.h
> index 2332596..38d4c8c 100644
> --- a/include/hw/arm/xlnx-zynqmp.h
> +++ b/include/hw/arm/xlnx-zynqmp.h
> @@ -84,6 +84,9 @@ typedef struct XlnxZynqMPState {
>
> char *boot_cpu;
> ARMCPU *boot_cpu_ptr;
> +
> +/* Has the ARM Security extensions? */
> +bool secure;
> } XlnxZynqMPState;
>
> #define XLNX_ZYNQMP_H
> --
> 2.5.0
>
>