diff --git a/grub-core/kern/arm64/efi/startup.S b/grub-core/kern/arm64/efi/startup.S index 781c2b099..666a7ee3c 100644 --- a/grub-core/kern/arm64/efi/startup.S +++ b/grub-core/kern/arm64/efi/startup.S @@ -24,11 +24,16 @@ FUNCTION(_start) /* * EFI_SYSTEM_TABLE and EFI_HANDLE are passed in x1/x0. */ - ldr x2, =EXT_C(grub_efi_image_handle) + ldr x2, efi_image_handle_val str x0, [x2] - ldr x2, =EXT_C(grub_efi_system_table) + ldr x2, efi_system_table_val str x1, [x2] - ldr x2, =EXT_C(grub_main) + ldr x2, grub_main_val br x2 +grub_main_val: + .quad EXT_C(grub_main) +efi_system_table_val: + .quad EXT_C(grub_efi_system_table) +efi_image_handle_val: + .quad EXT_C(grub_efi_image_handle) - .end