aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/emulation/qemu-aarch64/mainboard.c
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2020-01-23 14:10:07 +0100
committerPhilipp Deppenwiese <zaolin.daisuki@gmail.com>2020-03-02 10:36:37 +0000
commit792fd51b14d1056514e2ddfeb24cf6436df828fb (patch)
tree38e73d87b72ae6fca1df506a4cd21c621e902849 /src/mainboard/emulation/qemu-aarch64/mainboard.c
parent977b8e83cb0a71af1143d3ab56fd0f95bf8d6c70 (diff)
mb/emulation/qemu-aarch64: Add ARM trusted firmware support
Linux expects a working PSCI and hangs if not found. Add BL31 into CBFS as '-M virt,secure=on -bios ' commands line arguments cause qemu's internal PSCI emulation to shutdown. BL31 is placed in qemu's SECURERAM memory region and won't conflict with resources in DRAM. Tested on qemu-system-aarch64: Fixes a hang and allows to boot into Linux 5.4.14 userspace. Change-Id: I809742522240185431621cc4fd8b9c7deaf2bb54 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/38535 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/mainboard/emulation/qemu-aarch64/mainboard.c')
-rw-r--r--src/mainboard/emulation/qemu-aarch64/mainboard.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mainboard/emulation/qemu-aarch64/mainboard.c b/src/mainboard/emulation/qemu-aarch64/mainboard.c
index 573545532a..2980f483d8 100644
--- a/src/mainboard/emulation/qemu-aarch64/mainboard.c
+++ b/src/mainboard/emulation/qemu-aarch64/mainboard.c
@@ -10,6 +10,14 @@
#include <ramdetect.h>
#include <symbols.h>
#include <device/device.h>
+#include <bootmem.h>
+
+extern u8 _secram[], _esecram[];
+
+void bootmem_platform_add_ranges(void)
+{
+ bootmem_add_range((uintptr_t)_secram, REGION_SIZE(secram), BM_MEM_BL31);
+}
static void mainboard_enable(struct device *dev)
{