When bootup on a bare metal env, hypervisor_x2apic_available should return
ture so that "max_physical_apicid > 255" check in enable_IR_x2apic is useful.

Signed-off-by: Zhenzhong Duan <zhenzhong.d...@oracle.com>
---
 arch/x86/include/asm/hypervisor.h |    2 +-
 arch/x86/kernel/cpu/hypervisor.c  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/hypervisor.h 
b/arch/x86/include/asm/hypervisor.h
index 2d4b5e6..d4c09b3 100644
--- a/arch/x86/include/asm/hypervisor.h
+++ b/arch/x86/include/asm/hypervisor.h
@@ -59,6 +59,6 @@ extern bool hypervisor_x2apic_available(void);
 #else
 static inline void init_hypervisor(struct cpuinfo_x86 *c) { }
 static inline void init_hypervisor_platform(void) { }
-static inline bool hypervisor_x2apic_available(void) { return false; }
+static inline bool hypervisor_x2apic_available(void) { return true; }
 #endif /* CONFIG_HYPERVISOR_GUEST */
 #endif /* _ASM_X86_HYPERVISOR_H */
diff --git a/arch/x86/kernel/cpu/hypervisor.c b/arch/x86/kernel/cpu/hypervisor.c
index 8727921..ee303cd 100644
--- a/arch/x86/kernel/cpu/hypervisor.c
+++ b/arch/x86/kernel/cpu/hypervisor.c
@@ -82,7 +82,7 @@ void __init init_hypervisor_platform(void)
 
 bool __init hypervisor_x2apic_available(void)
 {
-       return x86_hyper                   &&
+       return !x86_hyper                  ||
               x86_hyper->x2apic_available &&
               x86_hyper->x2apic_available();
 }
-- 
1.7.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to