Skip to content

Commit 2e0975f

Browse files
jongwuretrage
authored andcommitted
aarch64: Don't advertise FDT to kernel to ensure use of ACPI
The Linux kernel only enabled ACPI if the provided FDT table is a stub [1]. Although this is a violation of the boot Arm Base Boot Requirement 7.4.3 [2] which requires an FDT table (a stub would be sufficient) for simplicity the FDT table is simply skipped which does not cause issues. Fixes: #261 Signed-off-by: Jianyong Wu <jianyong.wu@arm.com> [1] https://github.com/torvalds/linux/blob/d528014517f2b0531862c02865b9d4c908019dc4/arch/arm64/kernel/acpi.c#L203 [2] https://developer.arm.com/documentation/den0044/latest
1 parent 0be3eff commit 2e0975f

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/efi/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,6 +1115,9 @@ pub fn efi_exec(
11151115
let mut ct_index = 0;
11161116

11171117
// Populate with FDT table if present
1118+
// To ensure ACPI is used during boot do not include FDT table on aarch64
1119+
// https://github.com/torvalds/linux/blob/d528014517f2b0531862c02865b9d4c908019dc4/arch/arm64/kernel/acpi.c#L203
1120+
#[cfg(not(target_arch = "aarch64"))]
11181121
if let Some(fdt_entry) = info.fdt_reservation() {
11191122
ct[ct_index] = efi::ConfigurationTable {
11201123
vendor_guid: Guid::from_fields(

0 commit comments

Comments
 (0)