On 30.09.2022 01:02, Demi Marie Obenour wrote: > Memory of type EFI_CONVENTIONAL_MEMORY, EFI_LOADER_CODE, EFI_LOADER_DATA, > EFI_BOOT_SERVICES_CODE, and EFI_BOOT_SERVICES_DATA may be clobbered by > Xen before Linux gets to start using it. Therefore, Linux under Xen > must not use EFI tables from such memory. Most of the remaining EFI > memory types are not suitable for EFI tables, leaving only > EFI_ACPI_RECLAIM_MEMORY, EFI_RUNTIME_SERVICES_DATA, and > EFI_RUNTIME_SERVICES_CODE. When running under Xen, Linux should only > use tables that are located in one of these types of memory. > > This patch ensures this, and also adds a function > (xen_config_table_memory_region_max()) that will be used later to > replace the usage of the EFI memory map in esrt.c when running under > Xen. This function can also be used in mokvar-table.c and efi-bgrt.c, > but I have not implemented this. > > Signed-off-by: Demi Marie Obenour <demi@xxxxxxxxxxxxxxxxxxxxxx> In Xen we don't clobber EfiBootServices{Code,Data} when xen.efi was passed "-mapbs". Should we perhaps extend the interface such that Dom0 can then also use tables located in such regions, perhaps by faking EFI_MEMORY_RUNTIME in the attributes returned by XEN_FW_EFI_MEM_INFO? Jan