Messages in this thread | | | Subject | Re: [PATCH] efi/libstub/arm64: Enable __efistub_global define in .data section | From | Victor Erminpour <> | Date | Mon, 13 Apr 2020 15:56:40 -0700 |
| |
On 4/10/20 11:39 PM, Ard Biesheuvel wrote: > On Sat, 11 Apr 2020 at 00:12, Victor Erminpour > <victor.erminpour@oracle.com> wrote: >> >> >> >> On 4/10/20 1:09 AM, Ard Biesheuvel wrote: >>> On Thu, 9 Apr 2020 at 23:44, Victor Erminpour >>> <victor.erminpour@oracle.com> wrote: >>>> >>>> Enable the __efistub_global define to place variables in the >>>> .data section for both CONFIG_ARM and CONFIG_ARM64. >>>> >>>> This places the EFIstub sys_table variable and other EFIstub >>>> static variables in the .data section for both CONFIG_ARM and >>>> CONFIG_ARM64. >>>> >>> >>> What does that achieve? >> >> Hi Ard, >> >> Without placing these global variables in .data, I get the >> following errors when booting an ARM64 EFI system: >> >> EFI stub: ERROR: Exit boot services failed. >> EFI stub: ERROR: Failed to update FDT and exit boot services >> > > Which boot loader are you using? Does this involve shim? >
grub2-efi-aa64-2.02-0.80.0.4.el7.aarch64 shim-aa64-15-1.0.4.el7.aarch64
> Also, does it help if you add 'efi=no_disable_early_pci_dma'? >
Tried this boot time option, but to no effect.
> >> >> I know that the ARM64 linker script is supposed to put the >> .init.bss into the .init.data section, but I don't think this >> is happening for all systems. >> >> Having it explicitly enabled for CONFIG_ARM64 worked for me. >> > > OK, thanks for the report. However, we will be removing > __efistub_global entirely during the next cycle, so this is not the > right fix.
Thanks Ard, this sounds promising!
Regards, --Victor
>
-- Victor Hugo Erminpour Principal Member of Technical Staff Oracle America
| |