efi_loader: ACPI tables must be in EfiACPIReclaimMemory
The UEFI spec does not allow ACPI tables to be in runtime services memory.
It recommends EfiACPIReclaimMemory.
Remove a superfluous check that the allocated pages are 16 byte aligned.
EFI pages are 4 KiB aligned.
Fixes: 86df34d42b
("efi_loader: Install ACPI configuration tables")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
c28d5d704d
commit
992b1731e6
@ -25,7 +25,7 @@ efi_status_t efi_acpi_register(void)
|
|||||||
|
|
||||||
/* Reserve 64kiB page for ACPI */
|
/* Reserve 64kiB page for ACPI */
|
||||||
ret = efi_allocate_pages(EFI_ALLOCATE_MAX_ADDRESS,
|
ret = efi_allocate_pages(EFI_ALLOCATE_MAX_ADDRESS,
|
||||||
EFI_RUNTIME_SERVICES_DATA, 16, &acpi);
|
EFI_ACPI_RECLAIM_MEMORY, 16, &acpi);
|
||||||
if (ret != EFI_SUCCESS)
|
if (ret != EFI_SUCCESS)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -34,7 +34,6 @@ efi_status_t efi_acpi_register(void)
|
|||||||
* a 4k-aligned address, so it is safe to assume that
|
* a 4k-aligned address, so it is safe to assume that
|
||||||
* write_acpi_tables() will write the table at that address.
|
* write_acpi_tables() will write the table at that address.
|
||||||
*/
|
*/
|
||||||
assert(!(acpi & 0xf));
|
|
||||||
write_acpi_tables(acpi);
|
write_acpi_tables(acpi);
|
||||||
|
|
||||||
/* And expose them to our EFI payload */
|
/* And expose them to our EFI payload */
|
||||||
|
Loading…
Reference in New Issue
Block a user