
On 12/1/21 17:02, Simon Glass wrote:
This must be passed a ulong, not a u64. Fix it to avoid LTO warnings on sandbox.
Signed-off-by: Simon Glass sjg@chromium.org
lib/efi_loader/efi_acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/efi_loader/efi_acpi.c b/lib/efi_loader/efi_acpi.c index a62c34009cc..016bbf6db33 100644 --- a/lib/efi_loader/efi_acpi.c +++ b/lib/efi_loader/efi_acpi.c @@ -34,7 +34,7 @@ efi_status_t efi_acpi_register(void) * a 4k-aligned address, so it is safe to assume that * write_acpi_tables() will write the table at that address. */
- write_acpi_tables(acpi);
- write_acpi_tables((ulong)acpi);
This is wrong: acpi is not an address in the virtual address space of the sandbox. You must not pass it to use map_sysmem() to convert it to a pointer.
Please change the parameter of write_acpi_tables() to be a pointer and move all sandbox specific conversions to the sandbox code.
Best regards
Heinrich
/* And expose them to our EFI payload */ return efi_install_configuration_table(&acpi_guid,