Message ID | 20180821132811.17675-9-peter.maydell@linaro.org |
---|---|
State | New |
Headers | show |
Series | arm: Wire up GICv2 virt support on A15/A7 boards | expand |
On 8/21/18 3:28 PM, Peter Maydell wrote: > Don't request that the arm_load_kernel() code should boot in secure > state if the CPU doesn't have a secure state. Currently this > doesn't make a difference because the boot.c code only examines > the secure_boot flag in code guarded by an ARM_FEATURE_EL3 check, > but upcoming changes for supporting booting into Hyp mode will > change that. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Luc Michel <luc.michel@greensocs.com> > --- > hw/arm/vexpress.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c > index dc47ed84c20..3631f4de3a4 100644 > --- a/hw/arm/vexpress.c > +++ b/hw/arm/vexpress.c > @@ -705,8 +705,8 @@ static void vexpress_common_init(MachineState *machine) > daughterboard->bootinfo.smp_bootreg_addr = map[VE_SYSREGS] + 0x30; > daughterboard->bootinfo.gic_cpu_if_addr = daughterboard->gic_cpu_if_addr; > daughterboard->bootinfo.modify_dtb = vexpress_modify_dtb; > - /* Indicate that when booting Linux we should be in secure state */ > - daughterboard->bootinfo.secure_boot = true; > + /* When booting Linux we should be in secure state if the CPU has one. */ > + daughterboard->bootinfo.secure_boot = vms->secure; > arm_load_kernel(ARM_CPU(first_cpu), &daughterboard->bootinfo); > } > >
diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index dc47ed84c20..3631f4de3a4 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -705,8 +705,8 @@ static void vexpress_common_init(MachineState *machine) daughterboard->bootinfo.smp_bootreg_addr = map[VE_SYSREGS] + 0x30; daughterboard->bootinfo.gic_cpu_if_addr = daughterboard->gic_cpu_if_addr; daughterboard->bootinfo.modify_dtb = vexpress_modify_dtb; - /* Indicate that when booting Linux we should be in secure state */ - daughterboard->bootinfo.secure_boot = true; + /* When booting Linux we should be in secure state if the CPU has one. */ + daughterboard->bootinfo.secure_boot = vms->secure; arm_load_kernel(ARM_CPU(first_cpu), &daughterboard->bootinfo); }
Don't request that the arm_load_kernel() code should boot in secure state if the CPU doesn't have a secure state. Currently this doesn't make a difference because the boot.c code only examines the secure_boot flag in code guarded by an ARM_FEATURE_EL3 check, but upcoming changes for supporting booting into Hyp mode will change that. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/arm/vexpress.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)