aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2016-03-15 11:05:37 +0000
committerPeter Maydell <peter.maydell@linaro.org>2016-03-15 11:05:37 +0000
commitd41e0bed7ba7bad87b4e0cedf5580f29ee1a311f (patch)
treea4938c61da8e61ef30c9e0ac4a199e23ade81561
parent9828f9b6c84009ecb07796202317297bdbb8c0ef (diff)
parent492a4c94be8853aa378a5dd8a1f8e3181754aabd (diff)
Merge remote-tracking branch 'remotes/ehabkost/tags/x86-pull-request' into staging
X86 fixes # gpg: Signature made Mon 14 Mar 2016 20:26:25 GMT using RSA key ID 984DC5A6 # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" * remotes/ehabkost/tags/x86-pull-request: kvm: Remove x2apic feature from CPU model when kernel_irqchip is off hyperv: cpu hotplug fix with HyperV enabled Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--target-i386/cpu.c4
-rw-r--r--target-i386/kvm.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 0f38d1eae3..3ea6b294a4 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2132,6 +2132,10 @@ static void x86_cpu_load_def(X86CPU *cpu, X86CPUDefinition *def, Error **errp)
/* Special cases not set in the X86CPUDefinition structs: */
if (kvm_enabled()) {
+ if (!kvm_irqchip_in_kernel()) {
+ x86_cpu_change_kvm_default("x2apic", "off");
+ }
+
x86_cpu_apply_props(cpu, kvm_default_props);
}
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 7974acb399..08d6444741 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -639,6 +639,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
if (cpu->hyperv_crash && has_msr_hv_crash) {
c->edx |= HV_X64_GUEST_CRASH_MSR_AVAILABLE;
}
+ c->edx |= HV_X64_CPU_DYNAMIC_PARTITIONING_AVAILABLE;
if (cpu->hyperv_reset && has_msr_hv_reset) {
c->eax |= HV_X64_MSR_RESET_AVAILABLE;
}