Re: [PATCH for-7.1 06/11] hw/intc: Add a property to allow GIC to reset into non secure mode

2022-04-21 Thread Peter Maydell
On Tue, 5 Apr 2022 at 23:38, Hao Wu  wrote:
>
> This property allows certain boards like NPCM8xx to boot the kernel
> directly into non-secure mode. This is necessary since we do not
> support secure boot features for NPCM8xx now.
>
> Signed-off-by: Hao Wu 
> Reviewed-by: Patrick Venture 
> ---
>  hw/intc/arm_gic_common.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/hw/intc/arm_gic_common.c b/hw/intc/arm_gic_common.c
> index 7b44d5625b..7ddc5cfbd0 100644
> --- a/hw/intc/arm_gic_common.c
> +++ b/hw/intc/arm_gic_common.c
> @@ -358,6 +358,8 @@ static Property arm_gic_common_properties[] = {
>  /* True if the GIC should implement the virtualization extensions */
>  DEFINE_PROP_BOOL("has-virtualization-extensions", GICState, virt_extn, 
> 0),
>  DEFINE_PROP_UINT32("num-priority-bits", GICState, n_prio_bits, 8),
> +/* True if we want to directly booting a kernel into NonSecure */
> +DEFINE_PROP_BOOL("irq-reset-nonsecure", GICState, irq_reset_nonsecure, 
> 0),
>  DEFINE_PROP_END_OF_LIST(),
>  };

This isn't how this is supposed to work. Non-firmware (ie Linux
kernel boots) that have to emulate firmware init arrange to get
the irq_reset_nonsecure flag set because the GIC implements the
TYPE_ARM_LINUX_BOOT_IF and the boot.c code calls the callback
for every device that implements that interface. For firmware
boots, the firmware has to set up the GIC the way it wants.

thanks
-- PMM



[PATCH for-7.1 06/11] hw/intc: Add a property to allow GIC to reset into non secure mode

2022-04-05 Thread Hao Wu
This property allows certain boards like NPCM8xx to boot the kernel
directly into non-secure mode. This is necessary since we do not
support secure boot features for NPCM8xx now.

Signed-off-by: Hao Wu 
Reviewed-by: Patrick Venture 
---
 hw/intc/arm_gic_common.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/intc/arm_gic_common.c b/hw/intc/arm_gic_common.c
index 7b44d5625b..7ddc5cfbd0 100644
--- a/hw/intc/arm_gic_common.c
+++ b/hw/intc/arm_gic_common.c
@@ -358,6 +358,8 @@ static Property arm_gic_common_properties[] = {
 /* True if the GIC should implement the virtualization extensions */
 DEFINE_PROP_BOOL("has-virtualization-extensions", GICState, virt_extn, 0),
 DEFINE_PROP_UINT32("num-priority-bits", GICState, n_prio_bits, 8),
+/* True if we want to directly booting a kernel into NonSecure */
+DEFINE_PROP_BOOL("irq-reset-nonsecure", GICState, irq_reset_nonsecure, 0),
 DEFINE_PROP_END_OF_LIST(),
 };
 
-- 
2.35.1.1094.g7c7d902a7c-goog