qemu-e2k/target-i386
Denis V. Lunev 4467c6c118 hyperv: cpu hotplug fix with HyperV enabled
With Hyper-V enabled CPU hotplug stops working. The CPU appears
in device manager on Windows but does not appear in peformance
monitor and control panel.

The root of the problem is the following. Windows checks
HV_X64_CPU_DYNAMIC_PARTITIONING_AVAILABLE bit in CPUID. The
presence of this bit is enough to cure the situation.

The bit should be set when CPU hotplug is allowed for HyperV VM.
The check that hot_add_cpu callback is defined is enough from the
protocol point of view. Though this callback is defined almost
always thus there is no need to export that knowledge in the
other way.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Reviewed-by: Roman Kagan <rkagan@virtuozzo.com>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Richard Henderson <rth@twiddle.net>
CC: Eduardo Habkost <ehabkost@redhat.com>
CC: "Andreas Färber" <afaerber@suse.de>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2016-03-14 17:26:06 -03:00
..
arch_dump.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
arch_memory_mapping.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
bpt_helper.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
cc_helper_template.h
cc_helper.c target-i386: Perform set/reset_inhibit_irq inline 2016-02-13 07:59:59 +11:00
cpu-qom.h all: Clean up includes 2016-02-23 12:43:05 +00:00
cpu.c * Asynchronous dump-guest-memory from Peter 2016-02-25 15:30:57 +00:00
cpu.h * Asynchronous dump-guest-memory from Peter 2016-02-25 15:30:57 +00:00
excp_helper.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
fpu_helper.c target-i386: fix confusion in xcr0 bit position vs. mask 2016-02-25 16:11:29 +01:00
gdbstub.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
helper.c target-i386: Enable control registers for MPX 2016-02-13 07:59:59 +11:00
helper.h target-i386: Implement FSGSBASE 2016-02-15 14:50:00 +11:00
hyperv.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
hyperv.h target-i386/hyperv: Hyper-V SynIC SINT routing and vcpu exit 2015-12-17 15:24:34 +01:00
int_helper.c target-i386: Implement FSGSBASE 2016-02-15 14:50:00 +11:00
kvm_i386.h kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP 2015-12-17 17:33:47 +01:00
kvm-stub.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
kvm.c hyperv: cpu hotplug fix with HyperV enabled 2016-03-14 17:26:06 -03:00
machine.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
Makefile.objs target-i386: Enable control registers for MPX 2016-02-13 07:59:59 +11:00
mem_helper.c target-i386: Update BNDSTATUS for exceptions raised by BOUND 2016-02-15 14:50:00 +11:00
misc_helper.c target-i386: Enable control registers for MPX 2016-02-13 07:59:59 +11:00
monitor.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
mpx_helper.c * Asynchronous dump-guest-memory from Peter 2016-02-25 15:30:57 +00:00
ops_sse_header.h target-i386: Rename struct XMMReg to ZMMReg 2016-01-21 12:47:15 -02:00
ops_sse.h target-i386: Rename XMM_[BWLSDQ] helpers to ZMM_* 2016-01-21 12:47:16 -02:00
seg_helper.c target-i386: Rewrite gen_enter inline 2016-02-09 15:46:54 +01:00
shift_helper_template.h
smm_helper.c target-i386: Enable control registers for MPX 2016-02-13 07:59:59 +11:00
svm_helper.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
svm.h
TODO
translate.c tcg: Add type for vCPU pointers 2016-03-01 13:27:09 +00:00