[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] add optee dts entry for secure machine
From: |
Maxim Uvarov |
Subject: |
[PATCH] add optee dts entry for secure machine |
Date: |
Mon, 20 Apr 2020 14:01:26 +0300 |
Add optee compatible string for dtb to force linux
to boot optee module.
Signed-off-by: Maxim Uvarov <address@hidden>
---
hw/arm/virt.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 656b008..7d712f3 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1335,6 +1335,22 @@ static void create_platform_bus(VirtMachineState *vms)
sysbus_mmio_get_region(s, 0));
}
+static void create_secure_tee(VirtMachineState *vms)
+{
+ char *firmware;
+ char *optee;
+
+ firmware = g_strdup_printf("/firmware");
+ qemu_fdt_add_subnode(vms->fdt, firmware);
+
+ optee = g_strdup_printf("/firmware/optee");
+ qemu_fdt_add_subnode(vms->fdt, optee);
+ qemu_fdt_setprop_string(vms->fdt, optee, "compatible", "linaro,optee-tz");
+
+ g_free(optee);
+ g_free(firmware);
+}
+
static void create_secure_ram(VirtMachineState *vms,
MemoryRegion *secure_sysmem)
{
@@ -1720,6 +1736,7 @@ static void machvirt_init(MachineState *machine)
if (vms->secure) {
create_secure_ram(vms, secure_sysmem);
create_uart(vms, VIRT_SECURE_UART, secure_sysmem, serial_hd(1));
+ create_secure_tee(vms);
}
vms->highmem_ecam &= vms->highmem && (!firmware_loaded || aarch64);
--
2.17.1