@@ -547,6 +547,7 @@ static void *machvirt_dtb(const struct arm_boot_info *binfo, int *fdt_size)
static void machvirt_init(MachineState *machine)
{
+ VirtMachineState *vms = VIRT_MACHINE(machine);
qemu_irq pic[NUM_IRQS];
MemoryRegion *sysmem = get_system_memory();
int n;
@@ -584,6 +585,16 @@ static void machvirt_init(MachineState *machine)
}
cpuobj = object_new(object_class_get_name(oc));
+ if (vms->secure) {
+ Error *err = NULL;
+ object_property_set_bool(cpuobj, true, "secure", &err);
+ if (err) {
+ error_report("'secure' machine property not supported "
+ "with %s cpu", cpu_model);
+ exit(1);
+ }
+ }
+
object_property_set_int(cpuobj, QEMU_PSCI_CONDUIT_HVC, "psci-conduit",
NULL);
Add setting of the CPU secure property based on the virt machine secure property during initialization. This enables/disables secure state during start-up. Signed-off-by: Greg Bellows <greg.bellows@linaro.org> --- hw/arm/virt.c | 11 +++++++++++ 1 file changed, 11 insertions(+)