Index: linux-6.6.41-rt37/arch/x86/platform/efi/efi.c =================================================================== --- linux-6.6.41-rt37.orig/arch/x86/platform/efi/efi.c +++ linux-6.6.41-rt37/arch/x86/platform/efi/efi.c @@ -500,6 +500,7 @@ void __init efi_init(void) pr_err("No EFI runtime due to 32/64-bit mismatch with kernel\n"); if (!efi_runtime_supported() || efi_runtime_disabled()) { + pr_info("EFI runtime services will be disabled.\n"); efi_memmap_unmap(); return; } @@ -740,6 +741,12 @@ static void __init kexec_enter_virtual_m efi_memory_desc_t *md; unsigned int num_pages; + if (efi_runtime_disabled()) { + pr_info("EFI runtime services will be disabled.\n"); + clear_bit(EFI_RUNTIME_SERVICES, &efi.flags); + return; + } + /* * We don't do virtual mode, since we don't do runtime services, on * non-native EFI. @@ -812,6 +819,11 @@ static void __init __efi_enter_virtual_m efi_status_t status; unsigned long pa; + if (efi_runtime_disabled()) { + pr_info("EFI runtime services will be disabled.\n"); + goto err; + } + if (efi_alloc_page_tables()) { pr_err("Failed to allocate EFI page tables\n"); goto err;