From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53481) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUBSJ-00067R-CV for qemu-devel@nongnu.org; Fri, 12 Feb 2016 06:00:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aUBSG-0000is-6H for qemu-devel@nongnu.org; Fri, 12 Feb 2016 06:00:07 -0500 Received: from mx2.suse.de ([195.135.220.15]:49079) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUBSF-0000ib-Uu for qemu-devel@nongnu.org; Fri, 12 Feb 2016 06:00:04 -0500 References: <1455221959-22728-1-git-send-email-den@openvz.org> From: =?UTF-8?Q?Andreas_F=c3=a4rber?= Message-ID: <56BDBB31.3010302@suse.de> Date: Fri, 12 Feb 2016 12:00:01 +0100 MIME-Version: 1.0 In-Reply-To: <1455221959-22728-1-git-send-email-den@openvz.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 1/1] hyperv: cpu hotplug fix with HyperV enabled List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Denis V. Lunev" Cc: "Alexey V. Kostyushko" , Paolo Bonzini , qemu-devel@nongnu.org, Eduardo Habkost , Richard Henderson Am 11.02.2016 um 21:19 schrieb Denis V. Lunev: > From: "Alexey V. Kostyushko" >=20 > With Hyper-V enabled CPU hotplug stops working. The CPU appears in devi= ce > manager on Windows but does not appear in peformance monitor and contro= l > panel. >=20 > 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. >=20 > Add option 'hv-cpuhotplug' to control this behavior. >=20 > Signed-off-by: Alexey V. Kostyushko > Signed-off-by: Denis V. Lunev > CC: Paolo Bonzini > CC: Richard Henderson > CC: Eduardo Habkost > CC: "Andreas F=C3=A4rber" > --- > target-i386/cpu-qom.h | 1 + > target-i386/cpu.c | 1 + > target-i386/kvm.c | 6 +++++- > 3 files changed, 7 insertions(+), 1 deletion(-) >=20 > diff --git a/target-i386/cpu-qom.h b/target-i386/cpu-qom.h > index 5f9d960..4aec616 100644 > --- a/target-i386/cpu-qom.h > +++ b/target-i386/cpu-qom.h > @@ -96,6 +96,7 @@ typedef struct X86CPU { > bool hyperv_runtime; > bool hyperv_synic; > bool hyperv_stimer; > + bool hyperv_cpuhotplug; > bool check_cpuid; > bool enforce_cpuid; > bool expose_kvm; > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index b255644..32c38ae 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -3172,6 +3172,7 @@ static Property x86_cpu_properties[] =3D { > DEFINE_PROP_BOOL("hv-runtime", X86CPU, hyperv_runtime, false), > DEFINE_PROP_BOOL("hv-synic", X86CPU, hyperv_synic, false), > DEFINE_PROP_BOOL("hv-stimer", X86CPU, hyperv_stimer, false), > + DEFINE_PROP_BOOL("hv-cpuhotplug", X86CPU, hyperv_cpuhotplug, false= ), Is "cpuhotplug" some fixed HyperV name? Otherwise we generally use a dashes convention for QOM properties, i.e. "hv-cpu-hotplug". Regards, Andreas > DEFINE_PROP_BOOL("check", X86CPU, check_cpuid, true), > DEFINE_PROP_BOOL("enforce", X86CPU, enforce_cpuid, false), > DEFINE_PROP_BOOL("kvm", X86CPU, expose_kvm, true), [snip] --=20 SUSE Linux GmbH, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GF: Felix Imend=C3=B6rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N= =C3=BCrnberg)