> > > On 20/02/2017 12:54, Gonglei (Arei) wrote: > >> > >> On 20/02/2017 10:19, Gonglei (Arei) wrote: > >>> Hi Paolo, > >>> > >>>> > >>>> > >>>> On 16/02/2017 02:31, Gonglei (Arei) wrote: > >>>>> And the below patch works for me, I can support max 255 vcpus for > >> WS2012 > >>>>> with hyper-v enlightenments. > >>>>> > >>>>> diff --git a/target/i386/kvm.c b/target/i386/kvm.c > >>>>> index 27fd050..efe3cbc 100644 > >>>>> --- a/target/i386/kvm.c > >>>>> +++ b/target/i386/kvm.c > >>>>> @@ -772,7 +772,7 @@ int kvm_arch_init_vcpu(CPUState *cs) > >>>>> > >>>>> c = &cpuid_data.entries[cpuid_i++]; > >>>>> c->function = HYPERV_CPUID_IMPLEMENT_LIMITS; > >>>>> - c->eax = 0x40; > >>>>> + c->eax = -1; > >>>>> c->ebx = 0x40; > >>>>> > >>>>> kvm_base = KVM_CPUID_SIGNATURE_NEXT; > >>>> > >>>> This needs to depend on the machine type, but apart from that I think > >>> > >>> I don't know why. Because the negative effects for this change don't exist > >>> on current QEMU IIUC, and we don't have compatible problems for live > >> migration. > >> > >> CPUID should never change with the same machine type and command line. > >> > > OK, then how do we add compat code for the CPUID change? It's not a visible > property. > > You can add a new property, something like hv-cpuid-limits-eax. > Sounds good. Let me try. :) Thanks, -Gonglei