Skip to content

Commit d02c2e4

Browse files
Suzuki K Poulosewilldeacon
authored andcommitted
arm64: acpi: Enable ACPI CCEL support
Add support for ACPI CCEL by handling the EfiACPIMemoryNVS type memory. As per UEFI specifications NVS memory is reserved for Firmware use even after exiting boot services. Thus map the region as read-only. Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Will Deacon <will@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Aneesh Kumar K.V <aneesh.kumar@kernel.org> Cc: Steven Price <steven.price@arm.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Gavin Shan <gshan@redhat.com> Reviewed-by: Gavin Shan <gshan@redhat.com> Tested-by: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Will Deacon <will@kernel.org>
1 parent 9e8a3df commit d02c2e4

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

arch/arm64/kernel/acpi.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,16 @@ void __iomem *acpi_os_ioremap(acpi_physical_address phys, acpi_size size)
357357
* as long as we take care not to create a writable
358358
* mapping for executable code.
359359
*/
360+
fallthrough;
361+
362+
case EFI_ACPI_MEMORY_NVS:
363+
/*
364+
* ACPI NVS marks an area reserved for use by the
365+
* firmware, even after exiting the boot service.
366+
* This may be used by the firmware for sharing dynamic
367+
* tables/data (e.g., ACPI CCEL) with the OS. Map it
368+
* as read-only.
369+
*/
360370
prot = PAGE_KERNEL_RO;
361371
break;
362372

0 commit comments

Comments
 (0)