From 9b91a310bf29d72c999da8865571d307d5cc44bc Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Mon, 9 Mar 2020 11:31:56 -0500 Subject: [PATCH] system/boot/efi: Tweaks to get arm efi further * Store gFDT as a global in efi to appease non-x86 * gFDT might need refactored out of fdt bus_manager? Change-Id: I3fb1be04ceb696677aa5476381786c36adc6fc0a --- src/system/boot/platform/efi/arch/arm/Jamfile | 1 + src/system/boot/platform/efi/arch/arm/relocation_func.cpp | 2 +- src/system/boot/platform/efi/start.cpp | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/system/boot/platform/efi/arch/arm/Jamfile b/src/system/boot/platform/efi/arch/arm/Jamfile index 1862f117e3..830735ccf3 100644 --- a/src/system/boot/platform/efi/arch/arm/Jamfile +++ b/src/system/boot/platform/efi/arch/arm/Jamfile @@ -10,6 +10,7 @@ local arch_src = #entry.S relocation_func.cpp arch_smp.cpp + arch_start.cpp arch_mmu.cpp arch_timer.cpp ; diff --git a/src/system/boot/platform/efi/arch/arm/relocation_func.cpp b/src/system/boot/platform/efi/arch/arm/relocation_func.cpp index 207b7fcd32..430547bc42 100644 --- a/src/system/boot/platform/efi/arch/arm/relocation_func.cpp +++ b/src/system/boot/platform/efi/arch/arm/relocation_func.cpp @@ -39,7 +39,7 @@ #include -efi_status _relocate(long ldbase, Elf32_Dyn *dyn, +extern "C" efi_status _relocate(long ldbase, Elf32_Dyn *dyn, efi_handle image __attribute__((__unused__)), efi_system_table *systab __attribute__((__unused__))) { diff --git a/src/system/boot/platform/efi/start.cpp b/src/system/boot/platform/efi/start.cpp index b420ae037d..e871b236bd 100644 --- a/src/system/boot/platform/efi/start.cpp +++ b/src/system/boot/platform/efi/start.cpp @@ -43,7 +43,7 @@ efi_handle kImage; static uint32 sBootOptions; - +void* gFDT; extern "C" int main(stage2_args *args); extern "C" void _start(void); @@ -177,6 +177,7 @@ extern "C" efi_status efi_main(efi_handle image, efi_system_table *systemTable) { stage2_args args; + gFDT = NULL; memset(&args, 0, sizeof(stage2_args));