diff options
author | Alok N Kataria <akataria@vmware.com> | 2013-01-17 15:44:42 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-01-24 13:11:18 +0100 |
commit | 4cca6ea04d31c22a7d0436949c072b27bde41f86 (patch) | |
tree | e06036506679d25909bd013d3b51f1485b9f2d2f /arch/x86/kernel/kvm.c | |
parent | e3f0f36ddf1b2743a0d4ea312996536a9c37e1c7 (diff) | |
download | kernel_goldelico_gta04-4cca6ea04d31c22a7d0436949c072b27bde41f86.zip kernel_goldelico_gta04-4cca6ea04d31c22a7d0436949c072b27bde41f86.tar.gz kernel_goldelico_gta04-4cca6ea04d31c22a7d0436949c072b27bde41f86.tar.bz2 |
x86/apic: Allow x2apic without IR on VMware platform
This patch updates x2apic initializaition code to allow x2apic
on VMware platform even without interrupt remapping support.
The hypervisor_x2apic_available hook was added in x2apic
initialization code and used by KVM and XEN, before this.
I have also cleaned up that code to export this hook through the
hypervisor_x86 structure.
Compile tested for KVM and XEN configs, this patch doesn't have
any functional effect on those two platforms.
On VMware platform, verified that x2apic is used in physical
mode on products that support this.
Signed-off-by: Alok N Kataria <akataria@vmware.com>
Reviewed-by: Doug Covelli <dcovelli@vmware.com>
Reviewed-by: Dan Hecht <dhecht@vmware.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Avi Kivity <avi@redhat.com>
Link: http://lkml.kernel.org/r/1358466282.423.60.camel@akataria-dtop.eng.vmware.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/kvm.c')
-rw-r--r-- | arch/x86/kernel/kvm.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c index 9c2bd8b..2b44ea5 100644 --- a/arch/x86/kernel/kvm.c +++ b/arch/x86/kernel/kvm.c @@ -505,6 +505,7 @@ static bool __init kvm_detect(void) const struct hypervisor_x86 x86_hyper_kvm __refconst = { .name = "KVM", .detect = kvm_detect, + .x2apic_available = kvm_para_available, }; EXPORT_SYMBOL_GPL(x86_hyper_kvm); |