[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCHv2] add optee dts entry for secure machine
From: |
Maxim Uvarov |
Subject: |
[PATCHv2] add optee dts entry for secure machine |
Date: |
Wed, 22 Apr 2020 16:07:24 +0300 |
Add optee compatible string for dtb to force linux
to boot optee module.
Signed-off-by: Maxim Uvarov <address@hidden>
---
v2: added method.
hw/arm/virt.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 656b008..c937a82 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1335,6 +1335,23 @@ 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");
+ qemu_fdt_setprop_string(vms->fdt, optee, "method", "smc");
+
+ g_free(optee);
+ g_free(firmware);
+}
+
static void create_secure_ram(VirtMachineState *vms,
MemoryRegion *secure_sysmem)
{
@@ -1720,6 +1737,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
- [PATCHv2] add optee dts entry for secure machine,
Maxim Uvarov <=