From nobody Mon Nov 25 10:39:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1716227343; cv=none; d=zohomail.com; s=zohoarc; b=B/fidPMhtjnndOLon5Scd+G58ZSgg238w6ny6iQaOyhMDzYXjvm3AQwUCZoDO+yR+h63/LUm2Rb6bQIoac79RrH4wubcy19niIBDy2KsdP9ze0ouTxf9QgMPVAoAbJSZ9uDus+XHWRBv5EYysYPBDtTnt08srr9MlLQSi640HbU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1716227343; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ScGIVR0u9clgOunYogr9o63Zlu4w02TqPym4jXWkL+c=; b=MUoXIoDWcA48Gv+jZRIexaMOXZ1KMTlbILXTQLLVTYrJMowYGmJyzuNW2NBLlvSMHi7vLDVNLQrUx3InDT/VBMGLNy+yEGziRIVkOucytQbzTBfMZijV2sbN9osMWf+mj4d6L0SYAgk15p5/nDFR+byJ4+GDRmzO+AfQaqQTLgU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1716227343019929.3590558317611; Mon, 20 May 2024 10:49:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s977T-0002C2-VM; Mon, 20 May 2024 13:48:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s977Q-0002B7-3M for qemu-devel@nongnu.org; Mon, 20 May 2024 13:48:16 -0400 Received: from mgamail.intel.com ([192.198.163.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s977O-0003ku-6V for qemu-devel@nongnu.org; Mon, 20 May 2024 13:48:15 -0400 Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2024 10:47:56 -0700 Received: from 9cc2c43eec6b.jf.intel.com ([10.54.77.100]) by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2024 10:47:56 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716227294; x=1747763294; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=QJXh6BRmMMdAUv/q0OwnCX9WbdXcP+WLjiUsGv13T9M=; b=Rm2DwSQPr7S/e1eMobie6tlWkzrZoNUzyz6tUZLr3GZPUvnXEsy9BpzS Ip62adHACABEoh+EBG/lgRU5fSAIpn17Sbsb7duc6tpZQI2FJvrfIPu6g qKon6SZsgIPUbE49BYRCjEbWbv43xs+euePiFkMOMjhbLo+lBhCwXGHcy swa1nVUCT638ih+lSL4qFZEOrTcFN1veIGSiorLy9rQQlAFlGTwH4owdg wOsz3hNxjIG6L6TCi50LE5rA4qtwq6iDbslFtSJR6u+S2QkCbHpYabBG8 as/PFdY4bTdpo3aMBFp1/dhYMzdFVSdicfSdt68HX4VM0QYTbvGX7uPFR w==; X-CSE-ConnectionGUID: 27An84ljQzu00u84Mp9Kyg== X-CSE-MsgGUID: y4q0A2C1RxWbb3bnJu4ulw== X-IronPort-AV: E=McAfee;i="6600,9927,11078"; a="12222090" X-IronPort-AV: E=Sophos;i="6.08,175,1712646000"; d="scan'208";a="12222090" X-CSE-ConnectionGUID: YZBN68fwTaS/of2KMwaXNg== X-CSE-MsgGUID: MZhaeiBNQBK9Mxzdz5VxNw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,175,1712646000"; d="scan'208";a="32746629" From: Zide Chen To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, mst@redhat.com, thuth@redhat.com, cfontana@suse.de, xiaoyao.li@intel.com, Zide Chen Subject: [PATCH 1/3] vl: Allow multiple -overcommit commands Date: Mon, 20 May 2024 10:47:31 -0700 Message-Id: <20240520174733.32979-2-zide.chen@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240520174733.32979-1-zide.chen@intel.com> References: <20240520174733.32979-1-zide.chen@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.19; envelope-from=zide.chen@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1716227344290100005 Content-Type: text/plain; charset="utf-8" Both cpu-pm and mem-lock are related to system resource overcommit, but they are separate from each other, in terms of how they are realized, and of course, they are applied to different system resources. It's tempting to use separate command lines to specify their behavior. e.g., in the following example, the cpu-pm command is quietly overwritten, and it's not easy to notice it without careful inspection. --overcommit mem-lock=3Don --overcommit cpu-pm=3Don Fixes: c8c9dc42b7ca ("Remove the deprecated -realtime option") Signed-off-by: Zide Chen Reviewed-by: Thomas Huth --- system/vl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/system/vl.c b/system/vl.c index a3eede5fa5b8..ed682643805b 100644 --- a/system/vl.c +++ b/system/vl.c @@ -3545,8 +3545,12 @@ void qemu_init(int argc, char **argv) if (!opts) { exit(1); } - enable_mlock =3D qemu_opt_get_bool(opts, "mem-lock", false= ); - enable_cpu_pm =3D qemu_opt_get_bool(opts, "cpu-pm", false); + + /* Don't override the -overcommit option if set */ + enable_mlock =3D enable_mlock || + qemu_opt_get_bool(opts, "mem-lock", false); + enable_cpu_pm =3D enable_cpu_pm || + qemu_opt_get_bool(opts, "cpu-pm", false); break; case QEMU_OPTION_compat: { --=20 2.34.1 From nobody Mon Nov 25 10:39:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1716227357; cv=none; d=zohomail.com; s=zohoarc; b=F3Qr7ISD5wkmUjzKVfrUqcoiSZ5Uew885qrRblwm11bpVbw7lg3Br8h3PGmqGlRM9RZzUxyq51qJ4LgomlkXJ8pG5wltmp64DhX/SqFuBung4WUjGZscUGH7bj3GmxqjystwxJ3FfhvPFlC4hA5x3GSzfDji92C9zMLqH+VyV4s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1716227357; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=2AnUR49A/ChZZVKD8tEGLC2s1by6hKERUHvsKWY8EKw=; b=XY6t7WJaXUNJ+BaO05/C6he6lQYeQsUCjpitATln3CrY4+kmIFDUQOKzrufPdSbJMceoXTpLoPrfMC1ZUyALTJOEKWWzJo4c2qtczgQG+4pXOAOiVaa3lMPu49YkgDrUbdaFRusuwNdyNmhavDJO+R5uIQKgjAntlJSrTe6fbSs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1716227357775959.2941999759282; Mon, 20 May 2024 10:49:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s977W-0002Cx-04; Mon, 20 May 2024 13:48:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s977O-0002Ax-AO for qemu-devel@nongnu.org; Mon, 20 May 2024 13:48:15 -0400 Received: from mgamail.intel.com ([192.198.163.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s977L-0003k1-JF for qemu-devel@nongnu.org; Mon, 20 May 2024 13:48:14 -0400 Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2024 10:47:57 -0700 Received: from 9cc2c43eec6b.jf.intel.com ([10.54.77.100]) by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2024 10:47:57 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716227292; x=1747763292; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9arJsPQyD5NpWwBsxe3zjoYW9m+vFMY49U8AYvXT+dc=; b=CTHAKAAfwKUJy2ZxtBUWi7ajeSrhqw30mrTBXDZwNzpOW2+7zdXdwTVu hzv5giPZKmnQ3M1qHFuCwQhY7E72g7zer0fghtF/TnzlIGE/YPcnDLipT P9vM80S5v2/fk4Pd0i83QLQpArKA4qK8YikKQ8T/fs0unIPIcp/+oWxQj 8J3LAu48T11bB6JhMtfkmsZvC926titsG/X58GhDngZoCcRC5+di1xPin oGLdvMg6jQL8D0j2hZvQSntJ9ZQXeMP6vFbuouAdBN3y+wgNFXrqhSdJh fxO+uxWGfbT2K1Mfmn2JsAs+lu6VP6sSCnNs7OtOb0oUh5PYHMphGTOMY w==; X-CSE-ConnectionGUID: 1JyTe7b8QaC5z99Aj9Oe1g== X-CSE-MsgGUID: QLAk5d8YQdeesDsLZQ9x+g== X-IronPort-AV: E=McAfee;i="6600,9927,11078"; a="12222093" X-IronPort-AV: E=Sophos;i="6.08,175,1712646000"; d="scan'208";a="12222093" X-CSE-ConnectionGUID: +6aKCblvSJ+XatYyxNsoNg== X-CSE-MsgGUID: 0iP9h6z9TWywfSzECeLmBA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,175,1712646000"; d="scan'208";a="32746634" From: Zide Chen To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, mst@redhat.com, thuth@redhat.com, cfontana@suse.de, xiaoyao.li@intel.com, Zide Chen Subject: [PATCH 2/3] target/i386: call cpu_exec_realizefn before x86_cpu_filter_features Date: Mon, 20 May 2024 10:47:32 -0700 Message-Id: <20240520174733.32979-3-zide.chen@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240520174733.32979-1-zide.chen@intel.com> References: <20240520174733.32979-1-zide.chen@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.19; envelope-from=zide.chen@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1716227358444100001 Content-Type: text/plain; charset="utf-8" cpu_exec_realizefn which calls the accel-specific realizefn may expand features. e.g., some accel-specific options may require extra features to be enabled, and it's appropriate to expand these features in accel- specific realizefn. One such example is the cpu-pm option, which may add CPUID_EXT_MONITOR. Thus, call cpu_exec_realizefn before x86_cpu_filter_features to ensure that it won't expose features not supported by the host. Fixes: 662175b91ff2 ("i386: reorder call to cpu_exec_realizefn") Suggested-by: Xiaoyao Li Signed-off-by: Zide Chen --- target/i386/cpu.c | 24 ++++++++++++------------ target/i386/kvm/kvm-cpu.c | 1 - 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index cfe7c92d6bc6..da1ab7892d26 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -7438,6 +7438,18 @@ static void x86_cpu_realizefn(DeviceState *dev, Erro= r **errp) } } =20 + /* + * note: the call to the framework needs to happen after feature expan= sion, + * but before the checks/modifications to ucode_rev, mwait, phys_bits. + * These may be set by the accel-specific code, + * and the results are subsequently checked / assumed in this function. + */ + cpu_exec_realizefn(cs, &local_err); + if (local_err !=3D NULL) { + error_propagate(errp, local_err); + return; + } + x86_cpu_filter_features(cpu, cpu->check_cpuid || cpu->enforce_cpuid); =20 if (cpu->enforce_cpuid && x86_cpu_have_filtered_features(cpu)) { @@ -7459,18 +7471,6 @@ static void x86_cpu_realizefn(DeviceState *dev, Erro= r **errp) =20 x86_cpu_set_sgxlepubkeyhash(env); =20 - /* - * note: the call to the framework needs to happen after feature expan= sion, - * but before the checks/modifications to ucode_rev, mwait, phys_bits. - * These may be set by the accel-specific code, - * and the results are subsequently checked / assumed in this function. - */ - cpu_exec_realizefn(cs, &local_err); - if (local_err !=3D NULL) { - error_propagate(errp, local_err); - return; - } - if (xcc->host_cpuid_required && !accel_uses_host_cpuid()) { g_autofree char *name =3D x86_cpu_class_get_model_name(xcc); error_setg(&local_err, "CPU model '%s' requires KVM or HVF", name); diff --git a/target/i386/kvm/kvm-cpu.c b/target/i386/kvm/kvm-cpu.c index f76972e47e61..3adcedf0dbc3 100644 --- a/target/i386/kvm/kvm-cpu.c +++ b/target/i386/kvm/kvm-cpu.c @@ -50,7 +50,6 @@ static bool kvm_cpu_realizefn(CPUState *cs, Error **errp) * nothing else has been set by the user (or by accelerators) in * cpu->ucode_rev and cpu->phys_bits, and updates the CPUID results in * mwait.ecx. - * This accel realization code also assumes cpu features are already e= xpanded. * * realize order: * --=20 2.34.1 From nobody Mon Nov 25 10:39:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1716227342; cv=none; d=zohomail.com; s=zohoarc; b=kdhwLp6Sxj0O624t2bsnv828KFFrW4eQgpE7J0boBKsErQQuw+8V++qFNeElQRt4eOEmCDMpybYNChot4XOj31N/1l+Bvw1G+xhVSZiGE2q1tQtVSnkmXg+R6ZWoEgtWZgMqQQMhRhSKTWaXe2OqR6oDpDpTYqjPDjbwxC0tujA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1716227342; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=sOEQVfxCMK6r4Owkt8ovuP8Jylv9C9cK9BgJaESn5z0=; b=lYuk8/qxhc5RkzVD2WDykZrHT1wV6RwI4TgAGy5ojOtVkIzXtEON0mwiwbsIx2L4ZOJ0MbujB/eyuqOrHhZCOaKZJQbMC5PDjmqUZOG7Ao/q+fkmZNWdKZtPbFP0jQpUS1l98Np1tFuBnMQwsGaL1pkD8fK4wkEHn2218cXzWEw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1716227342823725.5796929539957; Mon, 20 May 2024 10:49:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s977U-0002CM-Kw; Mon, 20 May 2024 13:48:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s977R-0002Bm-Vt for qemu-devel@nongnu.org; Mon, 20 May 2024 13:48:18 -0400 Received: from mgamail.intel.com ([192.198.163.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s977O-0003k1-Ko for qemu-devel@nongnu.org; Mon, 20 May 2024 13:48:16 -0400 Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2024 10:47:58 -0700 Received: from 9cc2c43eec6b.jf.intel.com ([10.54.77.100]) by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2024 10:47:58 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716227295; x=1747763295; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=CfBulfqouTJD2KFyY/RsB2TzLeKk14JepRumF3y0b/o=; b=HhZzu8Sotl014qdC5FiqMS3S2jvbPU5viutRyXX3ebvu6AsEyqk+TQg7 C6zSKnv64bA4fgPeNEzSk//5bbe4rMTkt+UT9zbZ696/J2J/6l1/EQoM+ sZ2aRqCyKYtQgEAd5GDqmtZOQxaUMv1PnSPTVDgOxxs2IwVn0TGP6SFf4 b4iaW09vlDPrkh6m8WuFODI8mPOaZKoHQh2uyIkJVWVHI1JJ/VZkXyP8I PhAs9XGQ4Wh1duNAbFrEGjXlhQMUxvnrDPkndHRH0Y6qRuGjlHhQzCvaj tWQW9a3xBhSmVEpa36xGXqqGK7ylZmkCeY6t6PcUubQ/RAO8PlLyTyQ1u w==; X-CSE-ConnectionGUID: GeIXK0HsShuKmzYJX0W76A== X-CSE-MsgGUID: m1ckPSbsT2+Lri7MqS7osw== X-IronPort-AV: E=McAfee;i="6600,9927,11078"; a="12222100" X-IronPort-AV: E=Sophos;i="6.08,175,1712646000"; d="scan'208";a="12222100" X-CSE-ConnectionGUID: oQ9wEy1SRO6iM5NDUC4qoA== X-CSE-MsgGUID: UAKUAeTuSK6HfBecV+NT2A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,175,1712646000"; d="scan'208";a="32746638" From: Zide Chen To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, mst@redhat.com, thuth@redhat.com, cfontana@suse.de, xiaoyao.li@intel.com, Zide Chen Subject: [PATCH 3/3] target/i386: Move host_cpu_enable_cpu_pm into kvm_cpu_realizefn() Date: Mon, 20 May 2024 10:47:33 -0700 Message-Id: <20240520174733.32979-4-zide.chen@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240520174733.32979-1-zide.chen@intel.com> References: <20240520174733.32979-1-zide.chen@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.19; envelope-from=zide.chen@intel.com; helo=mgamail.intel.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @intel.com) X-ZM-MESSAGEID: 1716227344337100007 Content-Type: text/plain; charset="utf-8" It seems not a good idea to expand features in host_cpu_realizefn, which is for host CPU only. Additionally, cpu-pm option is KVM specific, and it's cleaner to put it in kvm_cpu_realizefn(), together with the WAITPKG code. Fixes: f5cc5a5c1686 ("i386: split cpu accelerators from cpu.c, using AccelC= PUClass") Signed-off-by: Zide Chen --- target/i386/host-cpu.c | 12 ------------ target/i386/kvm/kvm-cpu.c | 11 +++++++++-- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/target/i386/host-cpu.c b/target/i386/host-cpu.c index 280e427c017c..8b8bf5afeccf 100644 --- a/target/i386/host-cpu.c +++ b/target/i386/host-cpu.c @@ -42,15 +42,6 @@ static uint32_t host_cpu_phys_bits(void) return host_phys_bits; } =20 -static void host_cpu_enable_cpu_pm(X86CPU *cpu) -{ - CPUX86State *env =3D &cpu->env; - - host_cpuid(5, 0, &cpu->mwait.eax, &cpu->mwait.ebx, - &cpu->mwait.ecx, &cpu->mwait.edx); - env->features[FEAT_1_ECX] |=3D CPUID_EXT_MONITOR; -} - static uint32_t host_cpu_adjust_phys_bits(X86CPU *cpu) { uint32_t host_phys_bits =3D host_cpu_phys_bits(); @@ -83,9 +74,6 @@ bool host_cpu_realizefn(CPUState *cs, Error **errp) X86CPU *cpu =3D X86_CPU(cs); CPUX86State *env =3D &cpu->env; =20 - if (cpu->max_features && enable_cpu_pm) { - host_cpu_enable_cpu_pm(cpu); - } if (env->features[FEAT_8000_0001_EDX] & CPUID_EXT2_LM) { uint32_t phys_bits =3D host_cpu_adjust_phys_bits(cpu); =20 diff --git a/target/i386/kvm/kvm-cpu.c b/target/i386/kvm/kvm-cpu.c index 3adcedf0dbc3..197c892da89a 100644 --- a/target/i386/kvm/kvm-cpu.c +++ b/target/i386/kvm/kvm-cpu.c @@ -64,9 +64,16 @@ static bool kvm_cpu_realizefn(CPUState *cs, Error **errp) * cpu_common_realizefn() (via xcc->parent_realize) */ if (cpu->max_features) { - if (enable_cpu_pm && kvm_has_waitpkg()) { - env->features[FEAT_7_0_ECX] |=3D CPUID_7_0_ECX_WAITPKG; + if (enable_cpu_pm) { + if (kvm_has_waitpkg()) { + env->features[FEAT_7_0_ECX] |=3D CPUID_7_0_ECX_WAITPKG; + } + + host_cpuid(5, 0, &cpu->mwait.eax, &cpu->mwait.ebx, + &cpu->mwait.ecx, &cpu->mwait.edx); + env->features[FEAT_1_ECX] |=3D CPUID_EXT_MONITOR; } + if (cpu->ucode_rev =3D=3D 0) { cpu->ucode_rev =3D kvm_arch_get_supported_msr_feature(kvm_state, --=20 2.34.1