On Thu, Jul 16, 2015 at 1:11 PM, Peter Maydell <peter.mayd...@linaro.org> wrote: > If we're creating a board with support for TrustZone, then enable > it on the GIC model as well as on the CPUs. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
Reviewed-by: Peter Crosthwaite <crosthwaite.pe...@gmail.com> > --- > hw/arm/virt.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 2bcf565..fdfa91b 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -361,7 +361,7 @@ static void create_v2m(VirtBoardInfo *vbi, qemu_irq *pic) > fdt_add_v2m_gic_node(vbi); > } > > -static void create_gic(VirtBoardInfo *vbi, qemu_irq *pic) > +static void create_gic(VirtBoardInfo *vbi, qemu_irq *pic, bool secure) > { > /* We create a standalone GIC v2 */ > DeviceState *gicdev; > @@ -380,6 +380,9 @@ static void create_gic(VirtBoardInfo *vbi, qemu_irq *pic) > * interrupts; there are always 32 of the former (mandated by GIC spec). > */ > qdev_prop_set_uint32(gicdev, "num-irq", NUM_IRQS + 32); > + if (!kvm_irqchip_in_kernel()) { > + qdev_prop_set_bit(gicdev, "has-security-extensions", secure); > + } > qdev_init_nofail(gicdev); > gicbusdev = SYS_BUS_DEVICE(gicdev); > sysbus_mmio_map(gicbusdev, 0, vbi->memmap[VIRT_GIC_DIST].base); > @@ -884,7 +887,7 @@ static void machvirt_init(MachineState *machine) > > create_flash(vbi); > > - create_gic(vbi, pic); > + create_gic(vbi, pic, vms->secure); > > create_uart(vbi, pic); > > -- > 1.9.1 > >