diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2013-05-23 14:23:32 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-05-23 14:23:32 +0100 |
commit | da3bca931fbcf0cbdfec971aca234e7ec0f41e16 (patch) | |
tree | 3e69e88df0c9187252a45575a75b7a55ec8aaed5 | |
parent | 7312c21dbd3f5026f087ba72c4e36754f1921762 (diff) | |
parent | 47f71a8ccb0c881cf3d9e0b917ef5f0dc084b062 (diff) | |
download | xen-da3bca931fbcf0cbdfec971aca234e7ec0f41e16.tar.gz xen-da3bca931fbcf0cbdfec971aca234e7ec0f41e16.tar.bz2 xen-da3bca931fbcf0cbdfec971aca234e7ec0f41e16.zip |
Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging
-rw-r--r-- | xen/arch/x86/apic.c | 2 | ||||
-rw-r--r-- | xen/arch/x86/efi/boot.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c index b28f5ed431..a52a0e881d 100644 --- a/xen/arch/x86/apic.c +++ b/xen/arch/x86/apic.c @@ -1474,7 +1474,7 @@ enum apic_mode current_local_apic_mode(void) /* Reading EXTD bit from the MSR is only valid if CPUID * says so, else reserved */ - if ( cpu_has(¤t_cpu_data, X86_FEATURE_X2APIC) + if ( boot_cpu_has(X86_FEATURE_X2APIC) && (msr_contents & MSR_IA32_APICBASE_EXTD) ) return APIC_MODE_X2APIC; diff --git a/xen/arch/x86/efi/boot.c b/xen/arch/x86/efi/boot.c index 117a5cbe43..9718bd7df9 100644 --- a/xen/arch/x86/efi/boot.c +++ b/xen/arch/x86/efi/boot.c @@ -1241,12 +1241,14 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) setup_efi_pci(); /* Get snapshot of variable store parameters. */ - status = efi_rs->QueryVariableInfo(EFI_VARIABLE_NON_VOLATILE | + status = (efi_rs->Hdr.Revision >> 16) >= 2 ? + efi_rs->QueryVariableInfo(EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS, &efi_boot_max_var_store_size, &efi_boot_remain_var_store_size, - &efi_boot_max_var_size); + &efi_boot_max_var_size) : + EFI_INCOMPATIBLE_VERSION; if ( EFI_ERROR(status) ) { efi_boot_max_var_store_size = 0; |