From nobody Sun Dec 14 05:56:51 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1763987035; cv=none; d=zohomail.com; s=zohoarc; b=RdO8qa7fH2jBkimibz5gRG1UcgUFjPY90Fo6U7GLY10vGfHgSMBS02ScsTlnKi4Hs0qOji8SQ/FUluiy/8OtuFB++GuyVStQuA1NeAmTCM7g22xUtHe5GoBCnckJiM987qx96ZgJ7n7lHe8HxM4abtR3fEm66zrFtY3SYZ6tHxU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763987035; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=befqLlpHDaTOJ168AO4nT4V0UY7lsj7BNiz2u+TXq/s=; b=BCtZdozlt//RId58YQqqCpGVcvHs1bDB2gJpxJs9BKvVaBNEDddgRpSOb37N8LMFATo7E5YWkkFm7kDXckVGcP4lpbOGluZ1oP8UCgSBkCvNYoDGh8HEwVAzXayzCauEzkRwY2OddzFcomK7laWv4cgQtVA4j9/uJD8vkHTmyEs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763987035949331.04544095109; Mon, 24 Nov 2025 04:23:55 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1170420.1495485 (Exim 4.92) (envelope-from ) id 1vNVbX-0001Ra-1J; Mon, 24 Nov 2025 12:23:39 +0000 Received: by outflank-mailman (output) from mailman id 1170420.1495485; Mon, 24 Nov 2025 12:23:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVbW-0001RT-Uz; Mon, 24 Nov 2025 12:23:38 +0000 Received: by outflank-mailman (input) for mailman id 1170420; Mon, 24 Nov 2025 12:23:38 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVbW-0000wa-0G for xen-devel@lists.xenproject.org; Mon, 24 Nov 2025 12:23:38 +0000 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [2a00:1450:4864:20::332]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 66e8daab-c930-11f0-9d18-b5c5bf9af7f9; Mon, 24 Nov 2025 13:23:37 +0100 (CET) Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4779adb38d3so29779785e9.2 for ; Mon, 24 Nov 2025 04:23:37 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-477a9df99d3sm145932095e9.12.2025.11.24.04.23.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Nov 2025 04:23:36 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 66e8daab-c930-11f0-9d18-b5c5bf9af7f9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1763987016; x=1764591816; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=befqLlpHDaTOJ168AO4nT4V0UY7lsj7BNiz2u+TXq/s=; b=eB/YMSJqN+GaWpdXRpbAdPomijnow9DFL4lvYoXf3LVbu9vSWRFdjZejF3fw9bJ4TM pxMGH+Q+pHxDgBaJGABXCJrMCRxkp5DrPOecdlEszZ4Zch6PSzm/3g6fNpmOM+RuhEoI BjCx+xrgggW68HI0QjE9DMDHrHAJoo5l0kLoY1bHq3B8Fg5Aaha4gOcCsl6JPgoR3AR7 bQOJk3sXRexDY07aYMV/qtVGNBCUS1KJAFWQ4c0G15GnQ6C3otF8Jeqg1WNRly4gmHa0 j0uygHQAhGYCuBkJ6MN3G8sgWiZXuOJdDpzPnxDnMALXhsN6eZUmFnsMjyX/KCRaXq7j uG7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763987016; x=1764591816; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=befqLlpHDaTOJ168AO4nT4V0UY7lsj7BNiz2u+TXq/s=; b=vs+G8JhzwyJFakZTxoFAx/EkBfUQ1BDPWWJqdKYZX4Sn9YlORL38wfiJUy5JDAdVh9 jflWnXeGl6vdhftNe3H2Ecu5fbdCkIAdXzHMWc60wd+FEWf+8LAP1pYJ/EgT/aaIpc/4 ZDBgTzyK0pCRrg0ZMTaSrbAzeZDtTJM90V2zDAsVdzybVT2wiAXgKk70lOkdBcjs4ZtL 27Y0SqPrsF6FZ1bt2YhTmrzGYHXBreAmpMV2LNN4V1GVnaLQSBWkUMYYOyWMQ+ijOk7j p+AuqZ7p+Wh1OpuKO35wzAEBrkvZ3NgWaKEeuM7e7xDx8ImAqhh+UaoEWzeCJIsNDVxu cFhw== X-Gm-Message-State: AOJu0YxtihmCYx7z6TYfwaBAyM3MVDGMd5zL2hJb59cb60T0jwyDmPsw GzY6+Z5rYgDFDxgomoB3N7Bwb/aNkcnh8Cz7xx380GzDJLawMTlxYN/wJoRvmruYlT/cAa4eZQ2 TQk8= X-Gm-Gg: ASbGncuTQpoex7vXmA8sQJhftlPc4Ov3UxqFGdUYU+3JX9ui0Iqc1umHh8kmdUuZNDK Q44Ujoltnmqbrc6Ge9CH3x4++/DTjlNsOudNYoNDJbUS0iPpb3u+8oVWJMCu6CaUXQ132aCkBFe 1P2aotrTAKtt4QSTh5UUR9CFlN7TQDiUiXCA2+20iklY/n/tWZvzvAfx6vHDSI08TXEjBSz3EH1 BrwrfRvu1HoiXdeUraGRDtQ1vTOExrPgFR10ALB4046SQJZcxYRSO/4fy35pLUnKN1bP0RA5d9/ EAQUkxJBPdL7ZiK9FilaMsOPq3AlDgxDeG0yZ4ImvuEPmZ5Kax+hF7sV62yqTHtgPzVpXUPWbWy U5tzxiCHYqf+LT3ptybyblmhrq8DBlYB1CbkDYrK9OVeEKjCxUv7+YH4T8o4ei/d0SnA8ICjLoq SWejTwRSjMlfSNyr+QJEWbi3DARHlORLvBNXtC/0358vzDWUM5ozR3WhXnQhZ2tRvj1AYDzZ2hH tQ= X-Google-Smtp-Source: AGHT+IEi5Pau7VI/zCzDyGA/Mp2V+Q9AkV/FUSPoLfiNzaxEVAUspg81R8Y6BJjd8zuNVEzctIzhzQ== X-Received: by 2002:a05:600c:450f:b0:477:7b30:a6fc with SMTP id 5b1f17b1804b1-477c01fa4a8mr128989095e9.30.1763987016491; Mon, 24 Nov 2025 04:23:36 -0800 (PST) Message-ID: <8791387c-2799-4e0b-b187-1900b224a101@suse.com> Date: Mon, 24 Nov 2025 13:23:38 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 1/6] x86/cpu-policy: define bits of leaf 6 From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1763987038511019200 Content-Type: text/plain; charset="utf-8" ... as far as we presently use them in the codebase. Signed-off-by: Jan Beulich Reviewed-by: Jason Andryuk --- Or should we make both parts proper featureset elements? At least APERFMPERF could likely be made visible to guests (in principle). --- v2: Use bool and unions. --- a/xen/include/xen/lib/x86/cpu-policy.h +++ b/xen/include/xen/lib/x86/cpu-policy.h @@ -121,7 +121,46 @@ struct cpu_policy uint64_t :64, :64; /* Leaf 0x3 - PSN. */ uint64_t :64, :64; /* Leaf 0x4 - Structured Cache. */ uint64_t :64, :64; /* Leaf 0x5 - MONITOR. */ - uint64_t :64, :64; /* Leaf 0x6 - Therm/Perf. */ + + /* Leaf 0x6 - Therm/Perf. */ + union { + uint32_t _6a; + struct { + bool :1, + turbo:1, + arat:1, + :1, + :1, + :1, + :1, + hwp:1, + hwp_notification:1, + hwp_activity_window:1, + hwp_epp:1, + hwp_plr:1, + :1, + hdc:1, + :1, + :1, + hwp_peci:1, + :1, + :1, + hw_feedback:1; + }; + }; + union { + uint32_t _6b; + }; + union { + uint32_t _6c; + struct { + bool aperfmperf:1; + }; + }; + union { + uint32_t _6d; + }; + uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */ uint64_t :64, :64; /* Leaf 0x8 - rsvd */ uint64_t :64, :64; /* Leaf 0x9 - DCA */ From nobody Sun Dec 14 05:56:51 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1763987049; cv=none; d=zohomail.com; s=zohoarc; b=nbYXLo6XoHdnkkcUTFGfIV0btTBdzbkrKT5YUBaVHYB+UzUGEAv7Yz+aSkDrsK7KHcnfbkAhkrKpypJLmLNbgYt9Ht4j4okAe8s/c5TKSbU5vIZy3m4HDLnlpP5+c/hbDgB63McgErGks/MQchysjnkdaVwqcAvJ6zEdT+fY9KU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763987049; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6vmubra/7p/KMumCP8wGDTSWTzldfYnULy/EwhAsbaU=; b=JfUgquFQfZPqtvpTL1+noFjuqmSn/oj0l0qmMY3C1ErAyxIDmCNwyZduMbDXJR+77RETRh49m7sYtG6u686SbcGjgoJams1hsynvP2wmKBNrNWlc51Twk8aYOwt9MPtE05OXpZwYG7kseinwSX/mlXjEy6Quq4FJZyMA0CjNLBQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 17639870491631015.745027388518; Mon, 24 Nov 2025 04:24:09 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1170423.1495495 (Exim 4.92) (envelope-from ) id 1vNVbp-0001nl-Bd; Mon, 24 Nov 2025 12:23:57 +0000 Received: by outflank-mailman (output) from mailman id 1170423.1495495; Mon, 24 Nov 2025 12:23:57 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVbp-0001ne-8b; Mon, 24 Nov 2025 12:23:57 +0000 Received: by outflank-mailman (input) for mailman id 1170423; Mon, 24 Nov 2025 12:23:55 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVbn-0000wa-SZ for xen-devel@lists.xenproject.org; Mon, 24 Nov 2025 12:23:55 +0000 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [2a00:1450:4864:20::332]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 7183907e-c930-11f0-9d18-b5c5bf9af7f9; Mon, 24 Nov 2025 13:23:55 +0100 (CET) Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4775ae77516so42538895e9.1 for ; Mon, 24 Nov 2025 04:23:54 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-477bf1df3d5sm193468095e9.2.2025.11.24.04.23.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Nov 2025 04:23:54 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 7183907e-c930-11f0-9d18-b5c5bf9af7f9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1763987034; x=1764591834; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=6vmubra/7p/KMumCP8wGDTSWTzldfYnULy/EwhAsbaU=; b=Vu90DpdwawXdrJ+7LliekHDMU6Eka6vuFP67k17cbwdYLApj79e0LMEMiGc+Ya2Had wzof6EwjhtYpSgjp2nDuoKSlcmCcRGnTUIFqBOB8EAyfQy08X0eXlYoE4yb4nTo9dz4K rHIHtlRlh4SEegMeaEsq2wwhj/0bJwUGt7P/P56X+WyXAdB6uDIdZBxICMyGsh3IqMCD 8YuX+V3GmdU2mIppMaDOG+e/d2OMi50MYFcDSPlKadXTwFQKMYCZFUorx7Sq3ESojU7v H4W9sIYs1vnT5y9uqmsRDLun4eUEhdxueWllCPfXjLhFFMfBsaQ3seGawnV5iIrcXc4v 2ZvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763987034; x=1764591834; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=6vmubra/7p/KMumCP8wGDTSWTzldfYnULy/EwhAsbaU=; b=AADAUykTbGMjR77f/QwUyR9JqSZyeweqyGxFTrO+bW0bCAQ1tBDD2SxxtxqmLhQRlM NLwOQmGASexxcNNXnelNhTR5jhzs8t7T7cXUZcCYurcUKEnecUdLpEzyb1hBzoeaYi0h d5AzI0uIckTvPZkXQbxq41cF7i034JzaK+M9OqEiH8aPNZ0UJfxe4kt9CHZHHZfogL8a 0gnzEcChKst1Hl+Us4FswDxPV02ZSzCXhX++eNMSvNoV6zBOCVWMHr3eCXVYR+8SDII0 52iN811AfGp7uw+RnRRYpGGvMwNKwSZ5c9GmXRbO5h9QlWbZBZQ/mrbmL5NfEGyHvwM6 9Acw== X-Gm-Message-State: AOJu0Yz/1lBo6iVtRF1juhYz8neKuqthkT7zTpZc0pMRw29FKMNhXSbs GXPWsCgtThbZe6M81SGdoMb/rINda0ztR9TX3ioX5iVq7bVJZPM79K0R220KoYocXlpfEx4p/2O iLho= X-Gm-Gg: ASbGncu1ynAuMuCLs4RJbh2nTppCafDODxTULGMoEQuJwmYDvdGC56XTQNF0a6mSPEI 8joWubE9LA3dBffnlJAcGolrOTRY6/6XfXCOcWlkTRyj1kl3Bghnn4sske36Ad5uiu8vOzaSeyI f1pGLaJg+NeRrbINKZZTxTh+o1L4np99z6niWgTWR8V+H6PBammu8901rV2b6DwDysxT7O9lHM3 S/IgxY+iJiYQEly+TJwGp1MLze+UZgsEt5/qch1s8k6Y8PhFhwF2Cgdf+MH8FqbaJM865YcpXBF B5qptbAUSuj4xQn1ny7huriGmxU1wXsy/Yn9t3WkxS0EbsuTZH1f/O4qO6zLtqxvswZWgWugLC/ oL5gFweiQzHyfb84Pj2MDFaV4q0xOdm49T6gwqL48QU10gvGtoVySV99y6CtSxzLVGhpSz2Xcnm 6/ywAOYeSDecVYocDG6sGgi7T2AtBdcanbiSZE4I2gwWs9Ak6rH0kSQdRvx4PEyYxXr4BRfDxMR Gc= X-Google-Smtp-Source: AGHT+IEgRGqKvdZisWoeFS6OT5uX7pWX9yiYiD498Wwkm5FffvTMhbxKVTgW6YvSF+b9MuLbRiYZEQ== X-Received: by 2002:a05:600c:1c29:b0:477:639d:bca2 with SMTP id 5b1f17b1804b1-477c10c85e2mr128308815e9.4.1763987034312; Mon, 24 Nov 2025 04:23:54 -0800 (PST) Message-ID: <80a6e497-bde6-4c5b-ade8-850abf0046ad@suse.com> Date: Mon, 24 Nov 2025 13:23:56 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 2/6] x86: replace APERFMPERF synthetic feature bit From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1763987050393019200 Content-Type: text/plain; charset="utf-8" Use the respective host CPU policy bit instead. This has the (tolerable, as we generally assume symmetry anyway) effect of using the BSP's (unleveled) setting, rather than the result of leveling (as is done by identify_cpu() on boot_cpu_data, rendering the variable name somewhat misleading). Signed-off-by: Jan Beulich Reviewed-by: Jason Andryuk --- The leveling of boot_cpu_data is problematic anyway, as that way features can in principle disappear post-boot (as CPUs are being brought online; just that we don't think anymore that we really support physical CPU hotplug). --- v2: Extend description. --- a/xen/arch/x86/cpu/common.c +++ b/xen/arch/x86/cpu/common.c @@ -523,10 +523,6 @@ static void generic_identify(struct cpui if ( cpu_has(c, X86_FEATURE_CLFLUSH) ) c->x86_clflush_size =3D ((ebx >> 8) & 0xff) * 8; =20 - if ( (c->cpuid_level >=3D CPUID_PM_LEAF) && - (cpuid_ecx(CPUID_PM_LEAF) & CPUID6_ECX_APERFMPERF_CAPABILITY) ) - __set_bit(X86_FEATURE_APERFMPERF, c->x86_capability); - /* AMD-defined flags: level 0x80000001 */ if (c->extended_cpuid_level >=3D 0x80000001) cpuid(0x80000001, &tmp, &tmp, --- a/xen/arch/x86/include/asm/cpufeature.h +++ b/xen/arch/x86/include/asm/cpufeature.h @@ -11,7 +11,9 @@ #include =20 #ifndef __ASSEMBLY__ +#include #include +#include #else #include #endif @@ -121,7 +123,6 @@ static inline bool boot_cpu_has(unsigned #define CPUID6_EAX_HDC BIT(13, U) #define CPUID6_EAX_HWP_PECI BIT(16, U) #define CPUID6_EAX_HW_FEEDBACK BIT(19, U) -#define CPUID6_ECX_APERFMPERF_CAPABILITY BIT(0, U) =20 /* CPUID level 0x00000001.edx */ #define cpu_has_fpu 1 @@ -175,6 +176,9 @@ static inline bool boot_cpu_has(unsigned #define cpu_has_fma4 boot_cpu_has(X86_FEATURE_FMA4) #define cpu_has_tbm boot_cpu_has(X86_FEATURE_TBM) =20 +/* CPUID level 0x00000006.ecx */ +#define cpu_has_aperfmperf host_cpu_policy.basic.aperfmperf + /* CPUID level 0x0000000D:1.eax */ #define cpu_has_xsaveopt boot_cpu_has(X86_FEATURE_XSAVEOPT) #define cpu_has_xsavec boot_cpu_has(X86_FEATURE_XSAVEC) @@ -292,7 +296,6 @@ static inline bool boot_cpu_has(unsigned /* Synthesized. */ #define cpu_has_arch_perfmon boot_cpu_has(X86_FEATURE_ARCH_PERFMON) #define cpu_has_cpuid_faulting boot_cpu_has(X86_FEATURE_CPUID_FAULTING) -#define cpu_has_aperfmperf boot_cpu_has(X86_FEATURE_APERFMPERF) #define cpu_has_xen_lbr boot_cpu_has(X86_FEATURE_XEN_LBR) #define cpu_has_xen_shstk (IS_ENABLED(CONFIG_XEN_SHSTK) && \ boot_cpu_has(X86_FEATURE_XEN_SHSTK)) --- a/xen/arch/x86/include/asm/cpufeatures.h +++ b/xen/arch/x86/include/asm/cpufeatures.h @@ -19,7 +19,7 @@ XEN_CPUFEATURE(TSC_RELIABLE, X86_SY XEN_CPUFEATURE(XTOPOLOGY, X86_SYNTH( 5)) /* cpu topology enum exte= nsions */ XEN_CPUFEATURE(CPUID_FAULTING, X86_SYNTH( 6)) /* cpuid faulting */ XEN_CPUFEATURE(XEN_FRED, X86_SYNTH( 7)) /* Xen uses FRED */ -XEN_CPUFEATURE(APERFMPERF, X86_SYNTH( 8)) /* APERFMPERF */ +/* Bit 8 unused */ XEN_CPUFEATURE(MFENCE_RDTSC, X86_SYNTH( 9)) /* MFENCE synchronizes RD= TSC */ XEN_CPUFEATURE(XEN_SMEP, X86_SYNTH(10)) /* SMEP gets used by Xen = itself */ XEN_CPUFEATURE(XEN_SMAP, X86_SYNTH(11)) /* SMAP gets used by Xen = itself */ From nobody Sun Dec 14 05:56:51 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1763987066; cv=none; d=zohomail.com; s=zohoarc; b=J0ftT9Yqpgnb+9XrU8XBcHSXcEkTHZJ6KueXGGJ4l8dD3SSCMPryY34Gan3wirDcKV8htdw1zUGEt1CzK7Jml7ySwKRmmEJuoBRq5IND+1SCbe5aVF0u5wxl9A0mah5qxjZIGygvNlK6M5Svt7aOP0x/c03kEBQMT/uSb3Mlqy0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763987066; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=l952tUPPdDWlCF9wpnrcqEjrz6Dm8KdXWLLA7A5cT8I=; b=CF3IVO/anTaOFkzyyzfM/fWO744ZtZGVRMT8Jv/de8uVoPrCTuKxkv1F4JvrY9rEHmO2kF3lI+pSWZfc3JAiauCarJy7tz99rDUnsnxPiCXy7oJZMTLgL5koPxQM7ZPhmwABv7cjWdoCUws7Tx7iWDOFxuGgBSVcdiIsh6zprP8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763987066284935.6819305382035; Mon, 24 Nov 2025 04:24:26 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1170436.1495505 (Exim 4.92) (envelope-from ) id 1vNVc8-0002Lk-Jk; Mon, 24 Nov 2025 12:24:16 +0000 Received: by outflank-mailman (output) from mailman id 1170436.1495505; Mon, 24 Nov 2025 12:24:16 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVc8-0002Ld-Gq; Mon, 24 Nov 2025 12:24:16 +0000 Received: by outflank-mailman (input) for mailman id 1170436; Mon, 24 Nov 2025 12:24:15 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVc7-0001k4-Iw for xen-devel@lists.xenproject.org; Mon, 24 Nov 2025 12:24:15 +0000 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [2a00:1450:4864:20::32c]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 7c7dd318-c930-11f0-980a-7dc792cee155; Mon, 24 Nov 2025 13:24:13 +0100 (CET) Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-477ba2c1ca2so44004825e9.2 for ; Mon, 24 Nov 2025 04:24:13 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-477bf216ddasm190515955e9.0.2025.11.24.04.24.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Nov 2025 04:24:12 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 7c7dd318-c930-11f0-980a-7dc792cee155 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1763987053; x=1764591853; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=l952tUPPdDWlCF9wpnrcqEjrz6Dm8KdXWLLA7A5cT8I=; b=CjBrV74+Ufep+6LCZRYIkiwXbdO6l9dqSb0s9X4g9s5Np25AYKSPGsixfNE3p5+fvF 6GPXYVpBZ2XS92FNy+8UkBcOF99XaI5rOAWaTSll8tiepRKY89onRhbhmiCJ2IgfkmGm JTQcTzdhQfQh4HeWE+OcIPKrZ/kET7kSPxNJkj1nLvYgel3f5woHkX9p9/InGthasOVB +PkdxnN3ASlluJoQ1z6ajWICr6oWUwQ1eZOCWCPJeA2R5bp6+WzICtrMd99Y39okCMaG VCwYU2qo9eAsFXrma+kLZnUOq5ygUBDMkpC1M6ubgfrm7G83dv0tt1yVa7mPmIIU4wqj KkJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763987053; x=1764591853; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=l952tUPPdDWlCF9wpnrcqEjrz6Dm8KdXWLLA7A5cT8I=; b=nJrFNNRjOb7jPmHp+Rp/VLcTphSTT1L2/ojBt0IX2Qr+XDU+qDuxgzDuJvi0Nfrnak VMVip714ipBA5lmJmKt7V07z/35oYks+c96JUOrkvbIZzeHPFSfU83Zo7xY+HBVHE+gb WrwzFZ72fCA6/XTMLY6QG6AZKbSB7X452J+mkYSoBTb3/YCrIw1GEjbhHeKHAUxAJqnF rMIDD8gt2ZfrkcfZ7pQC1RE0AEM5x6MWw5TTiiiP81aTrDK+EkpOuVfNQ0OG8JCadxH7 N1KtZapoW6QgmJAcyvhbDcy8ST4HPeaA92/ccbWsOcyiQGHYyNINXHGnIPP+zqrRgKuJ SbMQ== X-Gm-Message-State: AOJu0Yy2VhPLrpHNw0hUEAV4frzORQAdeeRyvRiC16XODk3qNid1gjRL YVW3bwPkkgTjXqdfPZpNJZI8mF1ZUhSxod7wjaojjVBmtde78SdiCBnzBfazYCUAIX8/yOIKJiX u1rM= X-Gm-Gg: ASbGncshOOiUZLOqb1foqO0zqygvOM2cnGWT9/fucr87hNE4mhpWjgnPFtfiTRJXPoH u6jgszQK8Wak9v1F1+HGtCnbsjGZgfdRuq8LylF1Kp00hLAp9vx1iiGkuOPTxE7iOu0zVHLMQY2 XBXD+MFXAf9ngeOCnKVBLzO0o2v5NDXoqNH+xkgZ3M6Lq/zzLejVDfxkw9+C3UlfPJUTMJBPioW C+1/TuL0RH/lbMlUFu3GuvI2J1zalcY2y9U00C/usWpFv5GsEYOqWqePYTaCvscSzhfjFB4+bso leMzkGUzKjFGSh1o1jDJ0Hj4TmdKcH5Nzywwylez225Zy546nCTWj1ouSjJlimQrhMy7Zupt3HW Zpid6DH7ghduF9h90i3UinkKz5F/ekSyef0konCHeXAK+neWBjs/NVmhQPYcYiMTeyeh+qnkL72 1r0bnP9T+lTv68siKhWJGJgDL1dDjy0DUw8dNl2Y8Y+ikxazzYqeNyD8sWotBClrNMUGpfqE8Vg mJY8te+0kRGRg== X-Google-Smtp-Source: AGHT+IGVMfVJEik/q/1IhgYgIYQ7vTGl1DoVH8z7W7NvWvnBgPChKbJsX7iHs6/D6IODTe34syWCEA== X-Received: by 2002:a05:600c:4f48:b0:46e:761b:e7ff with SMTP id 5b1f17b1804b1-477c01e02e5mr107226105e9.28.1763987052673; Mon, 24 Nov 2025 04:24:12 -0800 (PST) Message-ID: <480b4638-31bf-472a-8c99-70d912bccd0f@suse.com> Date: Mon, 24 Nov 2025 13:24:14 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 3/6] x86: rename ARAT feature flag From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1763987068665019200 Content-Type: text/plain; charset="utf-8" Add a XEN infix, to properly distinguish it from the CPUID feature flag (leaf 6 EAX bit 2). Signed-off-by: Jan Beulich Reviewed-by: Jason Andryuk --- Question is whether we still need opt_arat (and the command line option), or whether we could go directly from the CPUID bit (overriding it to 1 for older AMD [and Hygon?] CPUs). Or whether to have opt_arat affect the (host) CPU policy directly. --- a/xen/arch/x86/acpi/cpu_idle.c +++ b/xen/arch/x86/acpi/cpu_idle.c @@ -109,7 +109,7 @@ void (*__read_mostly lapic_timer_on)(voi =20 bool lapic_timer_init(void) { - if ( boot_cpu_has(X86_FEATURE_ARAT) ) + if ( boot_cpu_has(X86_FEATURE_XEN_ARAT) ) { lapic_timer_off =3D lapic_timer_nop; lapic_timer_on =3D lapic_timer_nop; @@ -1463,7 +1463,7 @@ static void amd_cpuidle_init(struct acpi =20 if ( !vendor_override ) { - if ( !boot_cpu_has(X86_FEATURE_ARAT) ) + if ( !boot_cpu_has(X86_FEATURE_XEN_ARAT) ) hpet_broadcast_init(); =20 if ( !lapic_timer_init() ) --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -1355,7 +1355,7 @@ static void cf_check init_amd(struct cpu * running in deep C states. */ if ( opt_arat && c->x86 > 0x11 ) - __set_bit(X86_FEATURE_ARAT, c->x86_capability); + __set_bit(X86_FEATURE_XEN_ARAT, c->x86_capability); =20 /* * Prior to Family 0x14, perf counters are not reset during warm reboot. --- a/xen/arch/x86/cpu/hygon.c +++ b/xen/arch/x86/cpu/hygon.c @@ -76,7 +76,7 @@ static void cf_check init_hygon(struct c =20 /* Hygon processors have APIC timer running in deep C states. */ if (opt_arat) - __set_bit(X86_FEATURE_ARAT, c->x86_capability); + __set_bit(X86_FEATURE_XEN_ARAT, c->x86_capability); =20 if (cpu_has(c, X86_FEATURE_EFRO)) { rdmsrl(MSR_K8_HWCR, value); --- a/xen/arch/x86/cpu/intel.c +++ b/xen/arch/x86/cpu/intel.c @@ -668,7 +668,7 @@ static void cf_check init_intel(struct c if ( opt_arat && ( c->cpuid_level >=3D 0x00000006 ) && ( cpuid_eax(0x00000006) & (1u<<2) ) ) - __set_bit(X86_FEATURE_ARAT, c->x86_capability); + __set_bit(X86_FEATURE_XEN_ARAT, c->x86_capability); =20 if ((opt_cpu_info && !(c->apicid & (c->x86_num_siblings - 1))) || c =3D=3D &boot_cpu_data ) --- a/xen/arch/x86/cpu/mwait-idle.c +++ b/xen/arch/x86/cpu/mwait-idle.c @@ -1633,7 +1633,7 @@ static int __init mwait_idle_probe(void) icpu =3D id->driver_data; cpuidle_state_table =3D icpu->state_table; =20 - if (boot_cpu_has(X86_FEATURE_ARAT)) + if (boot_cpu_has(X86_FEATURE_XEN_ARAT)) lapic_timer_reliable_states =3D LAPIC_TIMER_ALWAYS_RELIABLE; =20 pr_debug(PREFIX "v" MWAIT_IDLE_VERSION " model %#x\n", @@ -1792,7 +1792,7 @@ int __init mwait_idle_init(struct notifi return -ENODEV; =20 err =3D mwait_idle_probe(); - if (!err && !boot_cpu_has(X86_FEATURE_ARAT)) { + if (!err && !boot_cpu_has(X86_FEATURE_XEN_ARAT)) { hpet_broadcast_init(); if (xen_cpuidle < 0 && !hpet_broadcast_is_available()) err =3D -ENODEV; --- a/xen/arch/x86/include/asm/cpufeatures.h +++ b/xen/arch/x86/include/asm/cpufeatures.h @@ -13,7 +13,7 @@ /* Synthetic features */ XEN_CPUFEATURE(CONSTANT_TSC, X86_SYNTH( 0)) /* TSC ticks at a constan= t rate */ XEN_CPUFEATURE(NONSTOP_TSC, X86_SYNTH( 1)) /* TSC does not stop in C= states */ -XEN_CPUFEATURE(ARAT, X86_SYNTH( 2)) /* Always running APIC ti= mer */ +XEN_CPUFEATURE(XEN_ARAT, X86_SYNTH( 2)) /* Xen may utilize always= running APIC timer */ XEN_CPUFEATURE(ARCH_PERFMON, X86_SYNTH( 3)) /* Intel Architectural Pe= rfMon */ XEN_CPUFEATURE(TSC_RELIABLE, X86_SYNTH( 4)) /* TSC is known to be rel= iable */ XEN_CPUFEATURE(XTOPOLOGY, X86_SYNTH( 5)) /* cpu topology enum exte= nsions */ --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -2642,7 +2642,7 @@ static int _disable_pit_irq(bool init) * XXX dom0 may rely on RTC interrupt delivery, so only enable * hpet_broadcast if FSB mode available or if force_hpet_broadcast. */ - if ( cpuidle_using_deep_cstate() && !boot_cpu_has(X86_FEATURE_ARAT) ) + if ( cpuidle_using_deep_cstate() && !boot_cpu_has(X86_FEATURE_XEN_ARAT= ) ) { init ? hpet_broadcast_init() : hpet_broadcast_resume(); if ( !hpet_broadcast_is_available() ) From nobody Sun Dec 14 05:56:51 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1763987093; cv=none; d=zohomail.com; s=zohoarc; b=ZMywAwXXTCwiIvXFyiQrmCS1LaNV04VDallPz3dfa0Hj1TCwASpEVUebVUq+L9RxX9kJ9PS+3Z0zf5JOEDu13EB4Vjwya6e4F2iNV2QwbZUvvQZN/zVwbsdjauqMR7ISwosdYEaINz8ttxRmxRyr1Z0qexobX8HPOrZRZSq6l20= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763987093; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9yIW4G90REKYw1NybA2TBgWfxi68QMrBUK7Kmuc3ASs=; b=bhgIQeSlaIl8jFGxKfV5Y+Pf5FSe525Lsj3AU9ZSwqXpdSby+NgY+7FSOQEsWNU0wsnVw1eDtKJYemqtNDgeRrIOJ19LwHUFO+aAu0/L7NcR9nMDQCLxm6qyagwp1/hXCOxCtk1RElTEbIcjHTW482nF5T7SlNc1Gn4w+8hjIro= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763987093549507.9100764428496; Mon, 24 Nov 2025 04:24:53 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1170444.1495515 (Exim 4.92) (envelope-from ) id 1vNVcT-0002tm-Sf; Mon, 24 Nov 2025 12:24:37 +0000 Received: by outflank-mailman (output) from mailman id 1170444.1495515; Mon, 24 Nov 2025 12:24:37 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVcT-0002rs-OY; Mon, 24 Nov 2025 12:24:37 +0000 Received: by outflank-mailman (input) for mailman id 1170444; Mon, 24 Nov 2025 12:24:37 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVcT-0000wa-41 for xen-devel@lists.xenproject.org; Mon, 24 Nov 2025 12:24:37 +0000 Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [2a00:1450:4864:20::335]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 8a3bdcfb-c930-11f0-9d18-b5c5bf9af7f9; Mon, 24 Nov 2025 13:24:36 +0100 (CET) Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-47774d3536dso32672085e9.0 for ; Mon, 24 Nov 2025 04:24:36 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42cb7f2e556sm27720292f8f.5.2025.11.24.04.24.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Nov 2025 04:24:35 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 8a3bdcfb-c930-11f0-9d18-b5c5bf9af7f9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1763987076; x=1764591876; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=9yIW4G90REKYw1NybA2TBgWfxi68QMrBUK7Kmuc3ASs=; b=ORqA0Z2RVGGvkSwVbedbb/ikff+bZKjrarW1y1N+wEav21jxybqffsgSdNhI5yCtWg od6CmVQnm+mG85R5HqA9PqKtgqtusYnMLahraZA/i78ZJj6cJ8DO8ztzbcVBARVlC+Bx jASeclJm0+OfXpxRLZF0DKhkeBo3FxHuExhmUtmlyqu+iIKAnI8LFxIk3WV0LBs8fy5q XLr9CiGxL+J9Hb6LBN5RzsTmke8GgwD6tIdyoSp/hev1lL6/MxP2qwFlfKDuJHtSxKLe blST03fzAUIZPRQz0Zp4FgnHbDXjDJc1GGWjVIz95dqXIKDKKNwXqDRAzIziguweJeA3 jiQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763987076; x=1764591876; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9yIW4G90REKYw1NybA2TBgWfxi68QMrBUK7Kmuc3ASs=; b=WLAZqfzSA5/6rG6f9dHj5y89/Q70VPgA60iUWDCUCxlTeBIjnLVh1J+PDUjDYXHpCM 8akSeTpyCPEkFpt3krlZ/lmB4OJgOaTjXOd5EVUNS2Jah1XNki1vR3WcDVK24H+o4m7W hS3iq9sxMM47JrMD2U8IyAVUfXIcgwd0zP8dOHguN4ek22Mkh0W6LH3R0N2QT/wZi7oG NeCMQLkk4SOlujRLde2VvPvqFBtncSlsk+d3e8+hrWtgl2+qYWERBFIJjY6m7PyKGIoN KCyrA8vwJNghCAWjoQyQqNS8H2SxGfRxn7rC173hGiIyFEzwkukTjKvZdv99roJFDwgf xN5g== X-Gm-Message-State: AOJu0YyuTD3yy04ftW4vFohRxBMq/sTue3U05gqc0wJlGnwcsds1ZkWE iNe5G1IYMM4+rWxLfjA+UoN77mFzYA6FN3sBCrZI4xQ0NVCquEf/bwrTJ8g/EvThaTRElD4rqSE 1YaY= X-Gm-Gg: ASbGncvct5X/ojR/0sLUiU63tQrB6B6F35miHEpMXKI3QrSJJSN6LNF50msvKf5m/VY HlU8Irqza9XPQ0JpakYtwGDwkCm/+SRNLFIuCRuLNhnru3k0miW/IKqtmYdki/JEo+BYb8JLlPW 3sIQO+GA5v6GyoJyNXyvJnQTLSLkyyqsKMk8Eaz3On0/u6srOccOYkf/nyrJXcetgOO2rnGKUdH za2qaEvFg3IQL7TIg3lrgFvpSEbIHZUNb/XKUszTVHCRwxnaFZviagkkV6w+JkCWilbG2dFFd92 yxxGyoDg2DgdmStxDIJWLADc17hl31vY6cxQTheYasMsIuFd53SQJK1FmfuU+ITvE0xYnCxHDow KilAdKcrT6FH6iWbQaWqB8TpmOqffXc4e4ELLdI28+T6TxMy06XDICKHBdYM9RwW5FRxAGF/gQT ijIUkWZWAA++4nXNl7hZjvkn6zvh7z/+XgRGF5SqhEFhNJhrOWZ35Tod45FKbdz2w6lhTivoLG4 naoHrVq3jMeDA== X-Google-Smtp-Source: AGHT+IH41QTQw2pCn1UpNPVpa4BHxFAXWv91/AGuQ7Ll8pTEN8Zse4uO2jhH1mnG0Rsd32WP4RRn+A== X-Received: by 2002:a05:600c:4515:b0:477:7a5c:6a8e with SMTP id 5b1f17b1804b1-477c0513800mr102536885e9.9.1763987075752; Mon, 24 Nov 2025 04:24:35 -0800 (PST) Message-ID: Date: Mon, 24 Nov 2025 13:24:37 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 4/6] x86/Intel: use host CPU policy for ARAT checking From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1763987094374019200 Content-Type: text/plain; charset="utf-8" There's no need to invoke CPUID yet another time. However, as the host CPU policy is set up only shortly after init_intel() ran on the BSP, defer the logic to a pre-SMP initcall. This can't be (a new) one in cpu/intel.c though, as that's linked after acpi/cpu_idle.c (which is where we already need the feature set). Since opt_arat is local to the cpu/ subtree, introduce a new Intel-specific helper to hold the code needed. Further, as we assume symmetry anyway, use setup_force_cpu_cap() and hence limit the checking to the boot CPU. Signed-off-by: Jan Beulich Reviewed-by: Jason Andryuk --- The need to move where cpu_has_arat is checked would go away if we did away with opt_arat (as mentioned in the previous patch), and hence could use cpu_has_arat directly where right now XEN_ARAT is checked. --- a/xen/arch/x86/acpi/cpu_idle.c +++ b/xen/arch/x86/acpi/cpu_idle.c @@ -1666,6 +1666,9 @@ static int __init cf_check cpuidle_presm { void *cpu =3D (void *)(long)smp_processor_id(); =20 + if ( boot_cpu_data.vendor =3D=3D X86_VENDOR_INTEL ) + intel_init_arat(); + if ( !xen_cpuidle ) return 0; =20 --- a/xen/arch/x86/cpu/intel.c +++ b/xen/arch/x86/cpu/intel.c @@ -665,10 +665,6 @@ static void cf_check init_intel(struct c __set_bit(X86_FEATURE_NONSTOP_TSC, c->x86_capability); __set_bit(X86_FEATURE_TSC_RELIABLE, c->x86_capability); } - if ( opt_arat && - ( c->cpuid_level >=3D 0x00000006 ) && - ( cpuid_eax(0x00000006) & (1u<<2) ) ) - __set_bit(X86_FEATURE_XEN_ARAT, c->x86_capability); =20 if ((opt_cpu_info && !(c->apicid & (c->x86_num_siblings - 1))) || c =3D=3D &boot_cpu_data ) @@ -690,3 +686,9 @@ const struct cpu_dev __initconst_cf_clob .c_early_init =3D early_init_intel, .c_init =3D init_intel, }; + +void __init intel_init_arat(void) +{ + if ( opt_arat && cpu_has_arat ) + setup_force_cpu_cap(X86_FEATURE_XEN_ARAT); +} --- a/xen/arch/x86/include/asm/cpufeature.h +++ b/xen/arch/x86/include/asm/cpufeature.h @@ -176,6 +176,9 @@ static inline bool boot_cpu_has(unsigned #define cpu_has_fma4 boot_cpu_has(X86_FEATURE_FMA4) #define cpu_has_tbm boot_cpu_has(X86_FEATURE_TBM) =20 +/* CPUID level 0x00000006.eax */ +#define cpu_has_arat host_cpu_policy.basic.arat + /* CPUID level 0x00000006.ecx */ #define cpu_has_aperfmperf host_cpu_policy.basic.aperfmperf =20 --- a/xen/arch/x86/include/asm/processor.h +++ b/xen/arch/x86/include/asm/processor.h @@ -102,6 +102,7 @@ extern void setup_force_cpu_cap(unsigned extern bool is_forced_cpu_cap(unsigned int cap); extern void print_cpu_info(unsigned int cpu); extern void init_intel_cacheinfo(struct cpuinfo_x86 *c); +extern void intel_init_arat(void); =20 #define cpu_to_core(_cpu) (cpu_data[_cpu].cpu_core_id) #define cpu_to_socket(_cpu) (cpu_data[_cpu].phys_proc_id) From nobody Sun Dec 14 05:56:51 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1763987539; cv=none; d=zohomail.com; s=zohoarc; b=a1Qzr8zdPJgbKnHYs1FeOxu13UglBxWXlH7j3hz/35ztR5BuNvGo4+q91TuCzbr5bOpDh7as9OFrECqKlEn+ebd6KAAyONuhrKGa/fA9n62KA9Fv2YKm9YONoLLGNfYwkC0pgYXKJQpCmkDq1Bc9mX4fSx1/5VjQzomhMJdkqUU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763987539; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1XcpEuyq7I/RcIRhR0rcpzEEX5hVnSggdYKamo6kWLA=; b=doAThuAXgMBjlHGa5BBO1idHKs2flUUIFCYe7W5UMpy7xK9jwRwmDfxxAIdwGjSYsdp9VFYP9G5dqZw1EZbP24nPTIguUiY3blxFSw3P6B1V8dp/zhXoAEh2x1GgQqFWueM2aibOlhw3Izs0nbmE5VGleLX2AdGdPD8Rr3r84qA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 176398753910097.7910169385558; Mon, 24 Nov 2025 04:32:19 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1170531.1495595 (Exim 4.92) (envelope-from ) id 1vNVjj-0008Pr-8r; Mon, 24 Nov 2025 12:32:07 +0000 Received: by outflank-mailman (output) from mailman id 1170531.1495595; Mon, 24 Nov 2025 12:32:07 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVjj-0008Pk-5Q; Mon, 24 Nov 2025 12:32:07 +0000 Received: by outflank-mailman (input) for mailman id 1170531; Mon, 24 Nov 2025 12:32:05 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVcn-0001k4-Mn for xen-devel@lists.xenproject.org; Mon, 24 Nov 2025 12:24:57 +0000 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [2a00:1450:4864:20::32d]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 95c80395-c930-11f0-980a-7dc792cee155; Mon, 24 Nov 2025 13:24:55 +0100 (CET) Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-477563e28a3so28785215e9.1 for ; Mon, 24 Nov 2025 04:24:55 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-477a9e051d8sm152580145e9.5.2025.11.24.04.24.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Nov 2025 04:24:55 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 95c80395-c930-11f0-980a-7dc792cee155 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1763987095; x=1764591895; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=1XcpEuyq7I/RcIRhR0rcpzEEX5hVnSggdYKamo6kWLA=; b=X+g6dkq0B8ba7rTY3ORtLxnek7yKfMLuESCav8L/GrY+unXXmiruGR4ipp7TrYGyhO +o5V1l04xrhTEpVLS5+OmqaMUjbLT0UaeiOTKHYdC5SA0tvh391XQsPX3QNNvlheY6Et 2ntV5h9C/w5Z7mWXqNiI8IhwaFJ0nn3iTIfYsAWdQvqtiYzmotmcZGyoA6ZrpwwmrzSR BDHsRvNhs7sY5naUQvY0PQ9REGh6xzWCwKJsikUVyN5oUXaBwTWMaNdBkuqt8VhdfIsV hzn9ofVSMp4TDoiO5+ZWkyf+st04b99yvFUCW0ewAZSGUSbOoOmsfLhhAyRd+F/V1xuq uBBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763987095; x=1764591895; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=1XcpEuyq7I/RcIRhR0rcpzEEX5hVnSggdYKamo6kWLA=; b=R5nGQumWbpdp7cGlKB5AJvILRKkhYCi8cxuJ1UfyaDP1a9Py04kiGpbgK6DhQaVV2h kBEVhL40JfFzL/qorN4pV2598Ge5lfHnwNpzyrtYJMCROywAj5vv/YiDTC6LuIWBPMyr 4bi4hg2iigvyQ8wAEckYyfStKm62BjDPIC1h5LILm4hIAaylJt5V/oGUtOECcVaSdzYd 1V5W2hYybMRDUvfq6xhxxzVbSUNSVz83dEix+aa1MWha8wtB3pudI0e8jXcLMAXu17d2 H7bXsau/ydIn7qiF7+R8Hels7QmAr5hygtKAzjbkID6b+bd/x+pCoNP8XoEK6vg0Xc9i BI9g== X-Gm-Message-State: AOJu0YzXEWRKg2uC2+EYbAaIv7qQLlsiKx3Fd+fo/GquDJUl/rEW3i2w H4OT8+O84YTeLhv7g9TqC92wEG+YWrlOee6UKQoIqxwhzPOWanA2mQaWFopDZur+zEJsn1magAL T1Bg= X-Gm-Gg: ASbGncsQCbWKdSZ1e62Y2fmZvceJSneetZcVlnWZwakiGLdThOekE9MZqA70iHBMpay 6N7ksfXSfHjEMSuWZFAJrKvLxdfuu50x9lKo0ASEEtHaee1DmBM3SupOb1ICpKsYK7mTSAQE+bs fnxguanIwVKiHoq4YE8uxkhAyhJ3BQ8ROIGNjUobbhdFJTfRWMhVuqFIrgAPC3W/5csQmLwVJhQ MeEYE2SsvVRxciyx/3eTj3+PAHycLFGAoFWeOH+h833OUdybtGzxm0eUReaFZ6ZlfzW2uP5GjXl YKsppKHhmXXorNlwUAa9jxeMZ69JPxJFSxTjOsmtZdC4ntUnH0ugZE57tjF8X6WiXWP9dfK5KFk ePf9/V7xNaGlWJVGumF3aaJ9KBGzj2BS/2tM+CzYaJ3ToIL5XiDWk7xnSeWW3hvX6MEc1VVzfG2 eb49jFU3YEOQhn5DyZcXOKFur1u27Us+avN2GMYAfPsWs1X2i/7eoKjEG9PjCINCgIqgTntjREU tI= X-Google-Smtp-Source: AGHT+IEhoUys/5YoCehFDJB85Azw48BWOB2bzoMrzEb3G0ZMOMPXZ+CY/LZCV8vBna5lVpSUbk1MRA== X-Received: by 2002:a05:600c:154e:b0:46e:2815:8568 with SMTP id 5b1f17b1804b1-477c05137f4mr114025495e9.10.1763987095260; Mon, 24 Nov 2025 04:24:55 -0800 (PST) Message-ID: <27f467a9-a507-4832-850e-190aff8c04aa@suse.com> Date: Mon, 24 Nov 2025 13:24:57 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 5/6] x86/cpufreq: use host CPU policy for Turbo checking From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1763987539666019200 Content-Type: text/plain; charset="utf-8" There's no need to invoke CPUID yet another time - we assume symmetry anyway. With symmetry assumed, logging per-CPU also isn't very useful. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper Reviewed-by: Jason Andryuk --- a/xen/arch/x86/acpi/cpufreq/acpi.c +++ b/xen/arch/x86/acpi/cpufreq/acpi.c @@ -220,14 +220,11 @@ static unsigned int cf_check get_cur_fre =20 void intel_feature_detect(struct cpufreq_policy *policy) { - unsigned int eax; - - eax =3D cpuid_eax(6); - if (eax & 0x2) { + if ( cpu_has_turbo ) + { policy->turbo =3D CPUFREQ_TURBO_ENABLED; - if (cpufreq_verbose) - printk(XENLOG_INFO "CPU%u: Turbo Mode detected and enabled\n", - smp_processor_id()); + if ( cpufreq_verbose ) + printk_once(XENLOG_INFO "Turbo Mode detected and enabled\n"); } } =20 --- a/xen/arch/x86/include/asm/cpufeature.h +++ b/xen/arch/x86/include/asm/cpufeature.h @@ -177,6 +177,7 @@ static inline bool boot_cpu_has(unsigned #define cpu_has_tbm boot_cpu_has(X86_FEATURE_TBM) =20 /* CPUID level 0x00000006.eax */ +#define cpu_has_turbo host_cpu_policy.basic.turbo #define cpu_has_arat host_cpu_policy.basic.arat =20 /* CPUID level 0x00000006.ecx */ From nobody Sun Dec 14 05:56:51 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1763987573; cv=none; d=zohomail.com; s=zohoarc; b=YArPCE3icX5TlcmB28vstArYRaBFitTXxWKXlAiq+jTzN6ZtfsiSif79v/8kxEhKxokaGgJosO8tst6Pi/rGIJWvGxPCs3AGZ00neN6H5ljrMuoqsJrlwYpBkKjoP2i4ryrQiyUOiqOvuQ6PX3gHt6UGiluZ7ovQ/+mkbk1YOlw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763987573; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HiOO8E0uxvBIuOYrUtu7nBmWTtZUQ4qC/F+v+mwsDJs=; b=S2x7lj6gL+Grmh24VV0rYWoatjvDr4J/13MWikLk69iDtUC5lXHgPC+XCiJV4ktZEWFkQOjOiJWvCfmoOx4CeeKGfeso9lg96NFBy4f3AbTcOkR9dKaagRmxUBCQ9IEqswDXsb2IV1x/Rdd0O2LNYQxVMGiYSnga1xYw13ByesI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763987573796440.83675880872477; Mon, 24 Nov 2025 04:32:53 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1170544.1495605 (Exim 4.92) (envelope-from ) id 1vNVkF-0000eB-Ge; Mon, 24 Nov 2025 12:32:39 +0000 Received: by outflank-mailman (output) from mailman id 1170544.1495605; Mon, 24 Nov 2025 12:32:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVkF-0000e4-DP; Mon, 24 Nov 2025 12:32:39 +0000 Received: by outflank-mailman (input) for mailman id 1170544; Mon, 24 Nov 2025 12:32:38 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vNVd8-0001k4-S3 for xen-devel@lists.xenproject.org; Mon, 24 Nov 2025 12:25:18 +0000 Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [2a00:1450:4864:20::32f]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id a23dc6ec-c930-11f0-980a-7dc792cee155; Mon, 24 Nov 2025 13:25:16 +0100 (CET) Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-477b91680f8so33790345e9.0 for ; Mon, 24 Nov 2025 04:25:16 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-477bf1df392sm195782005e9.1.2025.11.24.04.25.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Nov 2025 04:25:15 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: a23dc6ec-c930-11f0-980a-7dc792cee155 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1763987116; x=1764591916; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=HiOO8E0uxvBIuOYrUtu7nBmWTtZUQ4qC/F+v+mwsDJs=; b=dMBHF/39TAzk+DYofAIPS8dM6e+gZpTb6bw3S0QnpvuTRTSh6p+aDZUPXjVekI+U05 K0o7OS33eXnhznZpTY8uu8zMMG4P/tM1owFjxodrmEovF4MqVtRFtWdqeM42M42Pqx5g 0bkeajs1GocyDHdNQcTatLbjE3KoWEEo4fvhBT1kVZx+nj1v41NfoaN2BGl/oU3YsQV2 EJ/w/hVIfldMizjhF7AB0N0HwyyCZ8kfIULrNZRDpMUiA/SC/mxyXdez+CLBNzW59H0T 3qnkFq2PDo9MCzzUxiBvWU/PK2JpMth4U4Du62iIowG1m5l5SMBSXzJVm/UOXKKIiZM+ FcAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763987116; x=1764591916; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HiOO8E0uxvBIuOYrUtu7nBmWTtZUQ4qC/F+v+mwsDJs=; b=QtYpcI/cadp6Gi+qoVQHo03gMj2IgMOwZzzmzP5+mwgZUI1Tcd4skrEdSvqx7zmTfk 3vQ1GoN+wN2eSNqBFX74p5KnoBXP4QPS+aV927TAkUTNgBlz9gZ37sAW+temYNnblvME m3MEAY+adlnMS4H2D6xb7NyoRBTQMpN6fsysDIGV7UWClh8hx5+mkMRonRbIWVz1Goku IfBTdZ0HFAoxkJcgY38QXb6xb2ayyJwp3klFVrHn/NFtArknhflb7bMFxuh6IukMitXO IE5j3O/bEzwXkGGCkHhEqyvXAiVpbRfVR4VZ8mJ/+LG9s7tNIEcoXdg7NDkypg+Xk0q2 Jadw== X-Gm-Message-State: AOJu0Yylchbll0PneZYxRb2HPaVt+ZZWy/CQofugJPEVgMYOkUTGWBhP WMhk2TXQxhPE+qiknj8G0wiKwdq94FsFoYunk1kuoTENHQ2xX5/nYyaNdCk7wBPxNbMzKQymb2n NPyM= X-Gm-Gg: ASbGncuoWVkPkLCnGCnDRNwLjXLcjTstTYCinE05Zq9rgl6VzudMKfPNH1qjq+1KR3r 8nhqc7+EzMyKfnqgdZtaeYuQcXwkBVcUlSdHNv/NFMucw8mu/kdTljXN1RBGgTigR16gO1I1+zD RNjuomNOwDjZNrm7csyCAR6Fg8NxTVBp+xTeEncQxOCPJNigQOpRdkbZwhz+z8wCSPdZo+4FsN/ L4mpHiOexbsyMG27SqQrMThvzFBw9LzqCCJLmI14VrfrswSiHBFbaCVlnUTJf6mSPgSldv5b6do /1hwzgOuliHQgIqqmmVmn+IZtgICWSO4tEDiRd69W4Ke3F7/0qC8vIumrdmVzdUEhensCpSwHj2 k1oFB8UOsg+ktE0nAgp14PBoB58myVo7VScGNtURA8Z69Agt2o5qjmApleiUajfP+Qd6ugMhVYk h8ZNJSa0eTmdiMb7S6cwZF6pyjrZtyuz9tIi69V6lgtVxmceJuGGYiOl5VqiWFQlLbWJ/gL/LCy eGYguZ2UZqiOA== X-Google-Smtp-Source: AGHT+IER1zqoIJny1pLILhNWvB7gTTC8sA2UNU0+uGH3XryZH002d0/wFxW7pSX4N+kLBmIsOfliSg== X-Received: by 2002:a05:600c:46cd:b0:475:dc5c:3a89 with SMTP id 5b1f17b1804b1-477c1136b7fmr100522755e9.34.1763987116126; Mon, 24 Nov 2025 04:25:16 -0800 (PST) Message-ID: Date: Mon, 24 Nov 2025 13:25:18 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 6/6] x86/cpufreq: use host CPU policy in HWP driver From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Jason Andryuk References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1763987574080019200 Content-Type: text/plain; charset="utf-8" There's no need to invoke CPUID yet another time. This way two of the static booleans can also go away. Signed-off-by: Jan Beulich Reviewed-by: Jason Andryuk --- v2: Introduce cpu_has_*. --- a/xen/arch/x86/acpi/cpufreq/hwp.c +++ b/xen/arch/x86/acpi/cpufreq/hwp.c @@ -18,9 +18,6 @@ =20 static bool __ro_after_init hwp_in_use; =20 -static bool __ro_after_init feature_hwp_notification; -static bool __ro_after_init feature_hwp_activity_window; - static bool __read_mostly feature_hdc; =20 static bool __ro_after_init opt_cpufreq_hdc =3D true; @@ -165,8 +162,6 @@ bool hwp_active(void) =20 static bool __init hwp_available(void) { - unsigned int eax; - if ( boot_cpu_data.cpuid_level < CPUID_PM_LEAF ) { hwp_verbose("cpuid_level (%#x) lacks HWP support\n", @@ -183,29 +178,22 @@ static bool __init hwp_available(void) return false; } =20 - eax =3D cpuid_eax(CPUID_PM_LEAF); - hwp_verbose("%d notify: %d act-window: %d energy-perf: %d pkg-level: %= d peci: %d\n", - !!(eax & CPUID6_EAX_HWP), - !!(eax & CPUID6_EAX_HWP_NOTIFICATION), - !!(eax & CPUID6_EAX_HWP_ACTIVITY_WINDOW), - !!(eax & CPUID6_EAX_HWP_ENERGY_PERFORMANCE_PREFERENCE), - !!(eax & CPUID6_EAX_HWP_PACKAGE_LEVEL_REQUEST), - !!(eax & CPUID6_EAX_HWP_PECI)); + cpu_has_hwp, cpu_has_hwp_notification, + cpu_has_hwp_activity_window, cpu_has_hwp_epp, + cpu_has_hwp_plr, cpu_has_hwp_peci); =20 - if ( !(eax & CPUID6_EAX_HWP) ) + if ( !cpu_has_hwp ) return false; =20 - if ( !(eax & CPUID6_EAX_HWP_ENERGY_PERFORMANCE_PREFERENCE) ) + if ( !cpu_has_hwp_epp ) { hwp_verbose("disabled: No energy/performance preference available"= ); =20 return false; } =20 - feature_hwp_notification =3D eax & CPUID6_EAX_HWP_NOTIFICATION; - feature_hwp_activity_window =3D eax & CPUID6_EAX_HWP_ACTIVITY_WINDOW; - feature_hdc =3D eax & CPUID6_EAX_HDC; + feature_hdc =3D cpu_has_hdc; =20 hwp_verbose("Hardware Duty Cycling (HDC) %ssupported%s\n", feature_hdc ? "" : "not ", @@ -213,7 +201,7 @@ static bool __init hwp_available(void) : ""); =20 hwp_verbose("HW_FEEDBACK %ssupported\n", - (eax & CPUID6_EAX_HW_FEEDBACK) ? "" : "not "); + cpu_has_hw_feedback ? "" : "not "); =20 hwp_in_use =3D true; =20 @@ -226,7 +214,8 @@ static int cf_check hwp_cpufreq_verify(s { struct hwp_drv_data *data =3D per_cpu(hwp_drv_data, policy->cpu); =20 - if ( !feature_hwp_activity_window && data->activity_window ) + if ( !cpu_has_hwp_activity_window && + data->activity_window ) { hwp_verbose("HWP activity window not supported\n"); =20 @@ -268,7 +257,7 @@ static int cf_check hwp_cpufreq_target(s hwp_req.max_perf =3D data->maximum; hwp_req.desired =3D data->desired; hwp_req.energy_perf =3D data->energy_perf; - if ( feature_hwp_activity_window ) + if ( cpu_has_hwp_activity_window ) hwp_req.activity_window =3D data->activity_window; =20 if ( hwp_req.raw =3D=3D data->curr_req.raw ) @@ -365,7 +354,7 @@ static void cf_check hwp_init_msrs(void } =20 /* Ensure we don't generate interrupts */ - if ( feature_hwp_notification ) + if ( cpu_has_hwp_notification ) wrmsr_safe(MSR_HWP_INTERRUPT, 0); =20 if ( !(val & PM_ENABLE_HWP_ENABLE) ) @@ -537,7 +526,8 @@ int get_hwp_para(unsigned int cpu, return -ENODATA; =20 cppc_para->features =3D - (feature_hwp_activity_window ? XEN_SYSCTL_CPPC_FEAT_ACT_WINDOW : 0= ); + (cpu_has_hwp_activity_window + ? XEN_SYSCTL_CPPC_FEAT_ACT_WINDOW : 0); cppc_para->lowest =3D data->hw.lowest; cppc_para->lowest_nonlinear =3D data->hw.most_efficient; cppc_para->nominal =3D data->hw.guaranteed; @@ -585,7 +575,7 @@ int set_hwp_para(struct cpufreq_policy * =20 /* Clear out activity window if lacking HW supported. */ if ( (set_cppc->set_params & XEN_SYSCTL_CPPC_SET_ACT_WINDOW) && - !feature_hwp_activity_window ) + !cpu_has_hwp_activity_window ) { set_cppc->set_params &=3D ~XEN_SYSCTL_CPPC_SET_ACT_WINDOW; cleared_act_window =3D true; --- a/xen/arch/x86/include/asm/cpufeature.h +++ b/xen/arch/x86/include/asm/cpufeature.h @@ -115,14 +115,6 @@ static inline bool boot_cpu_has(unsigned } =20 #define CPUID_PM_LEAF 6 -#define CPUID6_EAX_HWP BIT(7, U) -#define CPUID6_EAX_HWP_NOTIFICATION BIT(8, U) -#define CPUID6_EAX_HWP_ACTIVITY_WINDOW BIT(9, U) -#define CPUID6_EAX_HWP_ENERGY_PERFORMANCE_PREFERENCE BIT(10, U) -#define CPUID6_EAX_HWP_PACKAGE_LEVEL_REQUEST BIT(11, U) -#define CPUID6_EAX_HDC BIT(13, U) -#define CPUID6_EAX_HWP_PECI BIT(16, U) -#define CPUID6_EAX_HW_FEEDBACK BIT(19, U) =20 /* CPUID level 0x00000001.edx */ #define cpu_has_fpu 1 @@ -179,6 +171,14 @@ static inline bool boot_cpu_has(unsigned /* CPUID level 0x00000006.eax */ #define cpu_has_turbo host_cpu_policy.basic.turbo #define cpu_has_arat host_cpu_policy.basic.arat +#define cpu_has_hwp host_cpu_policy.basic.hwp +#define cpu_has_hwp_notification host_cpu_policy.basic.hwp_notification +#define cpu_has_hwp_activity_window host_cpu_policy.basic.hwp_activity_win= dow +#define cpu_has_hwp_epp host_cpu_policy.basic.hwp_epp +#define cpu_has_hwp_plr host_cpu_policy.basic.hwp_plr +#define cpu_has_hdc host_cpu_policy.basic.hdc +#define cpu_has_hwp_peci host_cpu_policy.basic.hwp_peci +#define cpu_has_hw_feedback host_cpu_policy.basic.hw_feedback =20 /* CPUID level 0x00000006.ecx */ #define cpu_has_aperfmperf host_cpu_policy.basic.aperfmperf