]> xenbits.xensource.com Git - xen.git/commit
viridian: remove implicit limit of 64 VPs per partition
authorIgor Druzhinin <igor.druzhinin@citrix.com>
Fri, 29 Jan 2021 13:18:01 +0000 (14:18 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 29 Jan 2021 13:18:01 +0000 (14:18 +0100)
commit983524671031fcfdb24a6c0da988203ebb47aebe
treedbed8d1674288d55228235f8124a61ae8a2ec841
parente4283bf38aae6c2f88cdbdaeef0f005a1a5f6c78
viridian: remove implicit limit of 64 VPs per partition

TLFS 7.8.1 stipulates that "a virtual processor index must be less than
the maximum number of virtual processors per partition" that "can be obtained
through CPUID leaf 0x40000005". Furthermore, "Requirements for Implementing
the Microsoft Hypervisor Interface" defines that starting from Windows Server
2012, which allowed more than 64 CPUs to be brought up, this leaf can now
contain a value -1 basically assuming the hypervisor has no restriction while
0 (that we currently expose) means the default restriction is still present.

Along with the previous changes exposing ExProcessorMasks this allows a recent
Windows VM with Viridian extension enabled to have more than 64 vCPUs without
going into BSOD in some cases.

Since we didn't expose the leaf before and to keep CPUID data consistent for
incoming streams from previous Xen versions - let's keep it behind an option.

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
docs/man/xl.cfg.5.pod.in
tools/include/libxl.h
tools/libs/light/libxl_types.idl
tools/libs/light/libxl_x86.c
xen/arch/x86/hvm/viridian/viridian.c
xen/include/public/hvm/params.h