From 2489d83c22ce9e44425469960677e6dbfd68adcc Mon Sep 17 00:00:00 2001 From: Gregory Price Date: Fri, 19 Dec 2025 12:05:37 -0500 Subject: [PATCH] Documentation/driver-api/cxl: BIOS/EFI expectation update Add a snippet about what Linux expects BIOS/EFI to do (and not to do) to the BIOS/EFI section. Suggested-by: Alejandro Lucero Palau Signed-off-by: Gregory Price Reviewed-by: Dave Jiang Reviewed-by: Alejandro Lucero Palau Reviewed-by: Jonathan Cameron Link: https://patch.msgid.link/20251219170538.1675743-2-gourry@gourry.net Signed-off-by: Dave Jiang --- .../driver-api/cxl/platform/bios-and-efi.rst | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Documentation/driver-api/cxl/platform/bios-and-efi.rst b/Documentation/driver-api/cxl/platform/bios-and-efi.rst index a9aa0ccd92af7..9034c206cf8e2 100644 --- a/Documentation/driver-api/cxl/platform/bios-and-efi.rst +++ b/Documentation/driver-api/cxl/platform/bios-and-efi.rst @@ -29,6 +29,26 @@ at :doc:`ACPI Tables `. on physical memory region size and alignment, memory holes, HDM interleave, and what linux expects of HDM decoders trying to work with these features. + +Linux Expectations of BIOS/EFI Software +======================================= +Linux expects BIOS/EFI software to construct sufficient ACPI tables (such as +CEDT, SRAT, HMAT, etc) and platform-specific configurations (such as HPA spaces +and host-bridge interleave configurations) to allow the Linux driver to +subsequently configure the devices in the CXL fabric at runtime. + +Programming of HDM decoders and switch ports is not required, and may be +deferred to the CXL driver based on admin policy (e.g. udev rules). + +Some platforms may require pre-programming HDM decoders and locking them +due to quirks (see: Zen5 address translation), but this is not the normal, +"expected" configuration path. This should be avoided if possible. + +Some platforms may wish to pre-configure these resources to bring memory +up without requiring CXL driver support. These platform vendors should +test their configurations with the existing CXL driver and provide driver +support for their auto-configurations if features like RAS are required. + UEFI Settings ============= If your platform supports it, the :code:`uefisettings` command can be used to -- 2.47.3