[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 13/19] efi: EFI_RS bit in efi.flags must be controlled by efi=[no-]rs command line argument
Otherwise efi_enabled(EFI_RS) check is unreliable. Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- xen/common/efi/boot.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c index dd6b0a8..95cb25f 100644 --- a/xen/common/efi/boot.c +++ b/xen/common/efi/boot.c @@ -1159,7 +1159,6 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) #ifndef CONFIG_ARM /* TODO - runtime service support */ -static bool_t __initdata efi_rs_enable = 1; static bool_t __initdata efi_map_uc; static void __init parse_efi_param(char *s) @@ -1177,7 +1176,10 @@ static void __init parse_efi_param(char *s) *ss = '\0'; if ( !strcmp(s, "rs") ) - efi_rs_enable = val; + { + if ( !val ) + __clear_bit(EFI_RS, &efi.flags); + } else if ( !strcmp(s, "attr=uc") ) efi_map_uc = val; @@ -1260,7 +1262,7 @@ void __init efi_init_memory(void) desc->PhysicalStart, desc->PhysicalStart + len - 1, desc->Type, desc->Attribute); - if ( !efi_rs_enable || + if ( !efi_enabled(EFI_RS) || (!(desc->Attribute & EFI_MEMORY_RUNTIME) && (!map_bs || (desc->Type != EfiBootServicesCode && @@ -1334,7 +1336,7 @@ void __init efi_init_memory(void) } } - if ( !efi_rs_enable ) + if ( !efi_enabled(EFI_RS) ) { efi_fw_vendor = NULL; return; -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |