diff --git a/src/efi/mod.rs b/src/efi/mod.rs index 607f96bf..44971ec1 100644 --- a/src/efi/mod.rs +++ b/src/efi/mod.rs @@ -614,7 +614,6 @@ pub extern "efiapi" fn install_configuration_table(guid: *mut Guid, table: *mut for entry in ct.iter_mut() { if entry.vendor_guid == unsafe { *guid } { - entry.vendor_table = table; if table.is_null() { entry.vendor_guid = INVALID_GUID; entry.vendor_table = null_mut(); @@ -1115,6 +1114,8 @@ pub fn efi_exec( let mut ct_index = 0; // Populate with FDT table if present + // To boot with ACPI, we can't offer full fdt. Simply, neglect it. See https://github.com/torvalds/linux/blob/d528014517f2b0531862c02865b9d4c908019dc4/arch/arm64/kernel/acpi.c#L203 + #[cfg(not(target_arch = "aarch64"))] if let Some(fdt_entry) = info.fdt_reservation() { ct[ct_index] = efi::ConfigurationTable { vendor_guid: Guid::from_fields(