aboutsummaryrefslogtreecommitdiff
path: root/include/hw
diff options
context:
space:
mode:
authorGonglei <arei.gonglei@huawei.com>2017-09-11 23:20:27 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2017-09-19 16:20:49 +0200
commit6c69dfb67e84747cf071958594d939e845dfcc0c (patch)
tree97b7f03024f43bce6ac98056a344d1446e70da2f /include/hw
parent05cb8ed5467ff0f154f9356fa0cdcf7fca4b17f6 (diff)
i386/cpu/hyperv: support over 64 vcpus for windows guests
Starting with Windows Server 2012 and Windows 8, if CPUID.40000005.EAX contains a value of -1, Windows assumes specific limit to the number of VPs. In this case, Windows Server 2012 guest VMs may use more than 64 VPs, up to the maximum supported number of processors applicable to the specific Windows version being used. https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs For compatibility, Let's introduce a new property for X86CPU, named "x-hv-max-vps" as Eduardo's suggestion, and set it to 0x40 before machine 2.10. (The "x-" prefix indicates that the property is not supposed to be a stable user interface.) Signed-off-by: Gonglei <arei.gonglei@huawei.com> Message-Id: <1505143227-14324-1-git-send-email-arei.gonglei@huawei.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/i386/pc.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 8226904524..087d184ef5 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -371,6 +371,11 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
#define PC_COMPAT_2_10 \
HW_COMPAT_2_10 \
+ {\
+ .driver = TYPE_X86_CPU,\
+ .property = "x-hv-max-vps",\
+ .value = "0x40",\
+ },
#define PC_COMPAT_2_9 \
HW_COMPAT_2_9 \