From nobody Sun Feb 8 20:58:32 2026 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; 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=1767707910; cv=none; d=zohomail.com; s=zohoarc; b=A0ELQFjriQRCn7kKyusp9g8drC+09lBoXIdk70Cbsc+zhPuVujTmIDwKBSUVOibc3xGsN+I2nnDkbxtHchfQK3aq+OJwmM3HKn4Xm2Yl8+zNysIH3DBUAKDsJLFtE4o0bAn2+tNeXaJSHxxCxHg+L070jjPKDyRs/pJdxrHMoiI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767707910; 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=r/ifospxoAmGxl7rlu8s5a4uuTwWZrTxZ5REb4+DRPA=; b=kMPrvfW6lOsYLnP8CFAMG4AaHO9u9Et9y2Bk67MbWpzk6+/i7j6+7OZdDSBAYvAkM0f16s3L+qE4A8o4LomsdDwDvUVhX3SPdijCWh2m7Dbg8sbT21ZLLpiRLbvf33BIiyqtZVHLI1n0HEvSQLgTnyyIC6PDri/G1+lVv33bf9s= 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 1767707910017124.62669042947425; Tue, 6 Jan 2026 05:58:30 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1196157.1514035 (Exim 4.92) (envelope-from ) id 1vd7Zg-00017D-Or; Tue, 06 Jan 2026 13:58:16 +0000 Received: by outflank-mailman (output) from mailman id 1196157.1514035; Tue, 06 Jan 2026 13:58: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 1vd7Zg-000173-Le; Tue, 06 Jan 2026 13:58:16 +0000 Received: by outflank-mailman (input) for mailman id 1196157; Tue, 06 Jan 2026 13:58:14 +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 1vd7Ze-0000Ic-Rh for xen-devel@lists.xenproject.org; Tue, 06 Jan 2026 13:58:14 +0000 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [2a00:1450:4864:20::32a]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id bddc0357-eb07-11f0-9ccf-f158ae23cfc8; Tue, 06 Jan 2026 14:58:13 +0100 (CET) Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-47bdbc90dcaso7326685e9.1 for ; Tue, 06 Jan 2026 05:58: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-47d7f70bc4fsm43681615e9.15.2026.01.06.05.58.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Jan 2026 05:58: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: bddc0357-eb07-11f0-9ccf-f158ae23cfc8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1767707893; x=1768312693; 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=r/ifospxoAmGxl7rlu8s5a4uuTwWZrTxZ5REb4+DRPA=; b=PVx4I6E/vCgBOBWGd6SBBiAbDNkwvO0dxRYtitW1wc15bmktNcaU4gcZTlpD5e7N8f TcWyN/tFeBocW3dxZDpIajBLZQ/eDX4zU9mO9ofwCMQk2Ocug8nK74vUmV8mR/VZkoAv da7hKC1uWmEsrtu8/+9ystgx2NyNPoBTQT2Eli2iLqunX/n3y0iU/1C4Vl9Jdt//tSvT wksyj8O2yQgSnpXk6Bi6HsBrp9empRMH3JiG5drl+CzDcURR5qyqU0wLb6XOauvmY+qd twkIq3mw7MjGEi4tvqLBigM8GEIHZxLDDPQGkQn2P2KpHzIuIS13l3Y700R3hp4XeHVH 1DQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767707893; x=1768312693; 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=r/ifospxoAmGxl7rlu8s5a4uuTwWZrTxZ5REb4+DRPA=; b=Curwb+0/8luzzyt4HXs+/uCfB+L6G2Mh2RA/TiYqHkGcyB+NQoVcL6Q8904bmSMa6s pZijoD+hXgnFM40EP57faSkBxh0MRYReOFgg+mlOybK22kZ6fIDnXC+sCdR3qubZ5iOd S78mm0Luks9SRqeXizLB7z4m+H0C9GO9qJsZjCE4pgssHBASNOB4iS3dh7NPkJC07EbO Mb1o3d+MBOtwKJMPwiir8DdJrzh4gg0UZgRFPHhQPrDgPJMVQ6gvoRtkbhT/hRrp5zRz vvmAb6c9/TnmR8Li+BBMhcsjt6vYfMZhS7FFq7FcrX/eKhRYz2G1SVnIBFg0/yMnEnQt birw== X-Gm-Message-State: AOJu0YwYkqtE5FPgLj3VL7tId7fLgJjoo9GQY0b7NNN3Ah31Mc3272nW DVoNya6d7aw4J1RRcg0SsEvkP6585ahh66So96vvQTrPcBsif047mHg24yTMGTMVullMD7bzxTG aOPo= X-Gm-Gg: AY/fxX4lyCTfFVqLzzr0nDKgk9blQSzWG2yxuQ0hONozyDiWuBEsFrhlgm4t94hGUqW 5UyUpQ/4Q6Ki+suM02K9lJ6gLOIp1ehNXBI67EGlvRcsewY5TY9lEzTDI91MAd9Z0P6aWmLVIa4 dWd2kQAvHbmLboEKOMpSjo+H0u2LPhzIvZCHmayDJTdyAkcXbdItU+A2rKhQjZi7S+xXkEjCg/j sQIw/N6zvCXqJ3PTx5H3CTK3FKNS5n8z1MoHV79u8l1YWzDoB1Ltxk0I+bHRO1G0MWn1g6Wlba7 eIzRSk5TwAU9+v72swTfBylVRG0B1AgNlqa3AeyYDohYxoINKLzUZ+Xrxdi8Ql4Vra46A82HpLa bNH5ENOIrBBT5/pNc4sqddBL6Uuo2y2uFzqrYJYUVgzaNefChG1PhiDUUXTKRhWa6P9Isi5lCtC JLXIiIkbvHnb5rSJEmljqK/oP6vIPxckHcqdkDiRTBJQgirCZXU9dVQBulaXp+WbWC5kho5WeI6 fk= X-Google-Smtp-Source: AGHT+IESFugYWnSWR1GVQ6MKPDsm28/iwTFbijmreacv6DKgHXqXKRAEV7WwUQVI7g9BZJmJcvPLIw== X-Received: by 2002:a05:600c:5289:b0:475:de12:d3b5 with SMTP id 5b1f17b1804b1-47d7f0a94e9mr34155405e9.34.1767707892696; Tue, 06 Jan 2026 05:58:12 -0800 (PST) Message-ID: <1f539879-3083-41d5-a2c5-c63c9161f0bf@suse.com> Date: Tue, 6 Jan 2026 14:58:11 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 1/5] x86/time: deal with negative deltas in get_s_time_fixed() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , =?UTF-8?B?0JDQvdGC0L7QvSDQnNCw0YDQutC+0LI=?= References: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> 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: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1767707910399158500 Callers may pass in TSC values from before the local TSC stamp was last updated (this would in particular be the case when the TSC was latched, a time rendezvous occurs, and the latched value is used only afterwards). scale_delta(), otoh, deals with unsigned values, and hence would treat negative incoming deltas as huge positive values, yielding entirely bogus return values. Fixes: 88e64cb785c1 ("x86/HVM: use fixed TSC value when saving or restoring= domain") Reported-by: =D0=90=D0=BD=D1=82=D0=BE=D0=BD =D0=9C=D0=B0=D1=80=D0=BA=D0=BE= =D0=B2 Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monn=C3=A9 --- An alternative might be to have scale_delta() deal with signed deltas, yet that seemed more risky to me. There could likely be more Fixes: tags; the one used is the oldest applicable one, from what I can tell. A similar issue looks to exist in read_xen_timer() and its read_cycle() helper, if we're scheduled out (and beck in) between reading of the TSC and calculation of the delta (involving ->tsc_timestamp). Am I overlooking anything there? stime2tsc() guards against negative deltas by using 0 instead; I'm not quite sure that's correct either. amd_check_erratum_1474() (next to its call to tsc_ticks2ns()) has a comment towards the TSC being "sane", but is that correct? Due to TSC_ADJUST, rdtsc() may well return a huge value (and the TSC would then wrap through 0 at some point). Shouldn't we subtract boot_tsc_stamp before calling tsc_ticks2ns()? A similar issue looks to exist in tsc_get_info(), again when rdtsc() possibly returns a huge value due to TSC_ADJUST. Once again I wonder whether we shouldn't subtract boot_tsc_stamp. --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -1649,8 +1649,13 @@ s_time_t get_s_time_fixed(u64 at_tsc) tsc =3D at_tsc; else tsc =3D rdtsc_ordered(); - delta =3D tsc - t->stamp.local_tsc; - return t->stamp.local_stime + scale_delta(delta, &t->tsc_scale); + + if ( tsc >=3D t->stamp.local_tsc ) + delta =3D scale_delta(tsc - t->stamp.local_tsc, &t->tsc_scale); + else + delta =3D -scale_delta(t->stamp.local_tsc - tsc, &t->tsc_scale); + + return t->stamp.local_stime + delta; } =20 s_time_t get_s_time(void) From nobody Sun Feb 8 20:58:32 2026 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; 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=1767707929; cv=none; d=zohomail.com; s=zohoarc; b=CFeyDzsWuQ3Ouehj/NiUNTP3+tGz1AAglIYh60FoAFD8iF2CZ6HtNqqsj3rjrPPD1TJb7vbVMuJcpIEviamSroEXF+87wyyto7GcUQL28J7PM6KBdcg3dQJ2e2NPL5IkzhTbmIdknzKjvrtTZBHO6zpanVJ0jiY7b4gquRfhdmA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767707929; 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=qbeAdy4fJOCoiATm+OOVH4vL9Ep2W/kjzFBlSuDnJHg=; b=lkzEn+ZkUSqlVzWX9J/MEkhIWO2NYMnD5nT1ih6OX12GYKPnj/kAB1dkD0Mt9oxiepB7SyLoEpLT45Xsi+B6jCiLv3+PkLUOyTIMreuPcC+s7iBGEKEsqk7ttypwP18yyB7JS3/jwvHaEBefxLc1oUkG8D48oHNCXQra7LQOlck= 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 1767707929779554.104657939471; Tue, 6 Jan 2026 05:58:49 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1196164.1514045 (Exim 4.92) (envelope-from ) id 1vd7Zy-0001j8-4K; Tue, 06 Jan 2026 13:58:34 +0000 Received: by outflank-mailman (output) from mailman id 1196164.1514045; Tue, 06 Jan 2026 13:58:34 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vd7Zy-0001j0-1E; Tue, 06 Jan 2026 13:58:34 +0000 Received: by outflank-mailman (input) for mailman id 1196164; Tue, 06 Jan 2026 13:58:32 +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 1vd7Zw-0000Ic-OF for xen-devel@lists.xenproject.org; Tue, 06 Jan 2026 13:58:32 +0000 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [2a00:1450:4864:20::42a]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c87719c0-eb07-11f0-9ccf-f158ae23cfc8; Tue, 06 Jan 2026 14:58:31 +0100 (CET) Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-42e2d02a3c9so662912f8f.3 for ; Tue, 06 Jan 2026 05:58:31 -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-432bd0daa84sm4538795f8f.2.2026.01.06.05.58.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Jan 2026 05:58:30 -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: c87719c0-eb07-11f0-9ccf-f158ae23cfc8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1767707910; x=1768312710; 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=qbeAdy4fJOCoiATm+OOVH4vL9Ep2W/kjzFBlSuDnJHg=; b=AAk4cKEH/MNAF6bbT/iomc7jS8D4jE4uWO2rzpmxju8Xz6NS0NqU+a/EF+uhzRmv/j mL6dpLTvQdt55RbEuCuCfdDU92VBBGKztaND4ON4jcnfN8HCOKuPh6y0yG/WVd+GBMts LXgJjRCu0qXp70RXFn5sYSlb7Hinq/zvKh3bpG5XW2HSjb0OPdZjJJEklTrCUhYAGBiU Tm8c5d0iHL734kJ4AcnozzyDqnY/1x0JSiQ+3HLwRk/Rym1bddA4ZR/7e6IcXVrhko34 zancJj0UMElkl+YEFix2nu4Ymmuu3d4Rw7PGmF7yl14AAJlOFlCic2jU19ZWGN7cYKmt /OEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767707910; x=1768312710; 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=qbeAdy4fJOCoiATm+OOVH4vL9Ep2W/kjzFBlSuDnJHg=; b=wSqDFDnuO+DdY51yA7d0Y2loOkmthTh2VcOuSN6r3Qb2HfU052kDPPuo63vGJk+GmX msqdkJhf4tCQ26qW4tC1An1S3Q8Wvahnh9XcYq129gfRtEoVBccQO90MiVtTVujjSGB0 OHS8eIvGxqA2vTEAmXrG157bvsM3xig7PMWGB5VzHzwWeFBC4jmnjGu9XA6bMlNJ7SU9 5tzLvG5cuptESV2CaQsrd4WGU3v5GeETUV9hEWJMgmr1BeO7eBHKnu+NX2W0kDxCoGSY pz/cUqNL/JIJclogXdUhnFjW6Q8k9XLy6NUsKOiYurlH+eG0Z4Nr575PDZp6HQ3LvhTw V8NQ== X-Gm-Message-State: AOJu0YygxPN/dsy0UlWpAXJ7g2QICcdn5ZEkRx+5jHFwAAQmVx5UtOQk 5ZKiVoZ0uGEwWUeQwc1Jh4lZF1Eqbo/KHuEZBeGoBvqZslsFSMflee9wYCSCrJgbn0H6c40fiSg 7hN4= X-Gm-Gg: AY/fxX4Fua3DdFCSwhjm9HqNsFNSgwPvAdbW0xFHY11p1yr8IqNLOCHipGnVK+2/izk wfG2lZ3SVnjlGcPYzDHiu5Kbi91DnKdfvugfeCE/Rme4Vi84+nt3CSVpTbsUA7lxauGyEf1g5MX 0wZE5HAD0LUUdXSbV2kEW6CD4tF3aB4e3o0VoKYAtWCV9Bg7dPRBLZ/nefo4cSUndWHJNN3evVk hvhR6WBqWOxkkkKC8g0aEgDL/22W6kge2cLXQtgv6VeXxN5NG0q/fS5Jt/IFdS5rmp1xXrTi0Zr VvaUsXAnsCdIBNqaLPdd7btRh2uRMaIq4bVNdhJBQUQBm1JVzP3fLVeGexP1lApfXFSjLFAw0z5 o9vaf2D128gNMoYZyP1zpVv5UHy2HTBXwzGrvyoxgu25frRxYezBRxIAMP19PVVVVLxkleWjZpy /24FLChq9Bi0RDbGm+tEKtusS6829y2tIPYHb7BiKCI2PwiDvHI7hdbni/6Nv54zEpvRJKS0+rc R0= X-Google-Smtp-Source: AGHT+IGs8dt/cpuz54Rk28BksowpcERFXjUxejHHjhnBtQD+XHzSST3nTisOBYQYPDD/p+vcm0aNnQ== X-Received: by 2002:a5d:5d08:0:b0:430:fb00:108f with SMTP id ffacd0b85a97d-432bc9d272dmr3811591f8f.18.1767707910383; Tue, 06 Jan 2026 05:58:30 -0800 (PST) Message-ID: Date: Tue, 6 Jan 2026 14:58:29 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 2/5] x86/time: scale_delta() can be static From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> 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: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1767707930462158500 Content-Type: text/plain; charset="utf-8" It's used in time.c alone. Modernize types while there. Amends: 5a82d598d2d ("viridian: unify time sources") Signed-off-by: Jan Beulich Acked-by: Roger Pau Monn=C3=A9 --- a/xen/arch/x86/include/asm/time.h +++ b/xen/arch/x86/include/asm/time.h @@ -56,7 +56,6 @@ u64 stime2tsc(s_time_t stime); =20 struct time_scale; void set_time_scale(struct time_scale *ts, u64 ticks_per_sec); -u64 scale_delta(u64 delta, const struct time_scale *scale); =20 /* Programmable Interval Timer (8254) */ =20 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -131,9 +131,9 @@ static inline u32 mul_frac(u32 multiplic * Scale a 64-bit delta by scaling and multiplying by a 32-bit fraction, * yielding a 64-bit result. */ -u64 scale_delta(u64 delta, const struct time_scale *scale) +static uint64_t scale_delta(uint64_t delta, const struct time_scale *scale) { - u64 product; + uint64_t product; =20 if ( scale->shift < 0 ) delta >>=3D -scale->shift; From nobody Sun Feb 8 20:58:32 2026 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; 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=1767708475; cv=none; d=zohomail.com; s=zohoarc; b=kyevn2P5WeR7719t6hKNov5pH10jl43WnGDbQoz2bklB1FnUFUSOTiMwAjJAG0XPJty6eoVFehlpAfrmU0DxrLOVuHgjvil3E4gPyq1m1nUKcWmMN/9NeR6XVBlWuWgm2jxCQMCQKW7eXXlBhMKBwTQ9UbB9irs9Apoej7ZiwcI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767708475; 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=/W6SkAbgch3VF6wNy3YU3AMUhJhp6OUaf6yGBOkOVJw=; b=cT4Qk4ItCNexZvyBkqqqOKSp+JOjv0DYyBKul5FW4F+P3C1H6NkIAd6YLfTlh98KATXCxM7WZrCTI3bIjsmM24YtI6aPfIse7KO5TCYI1G19rnytXgGEgHS3G3STFBmbszXT3FcJtPkVD36m6/wkFy0VHqeQTHejhN1w2oJeacM= 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 176770847525293.20534719998523; Tue, 6 Jan 2026 06:07:55 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1196199.1514064 (Exim 4.92) (envelope-from ) id 1vd7ij-0004Vv-4L; Tue, 06 Jan 2026 14:07:37 +0000 Received: by outflank-mailman (output) from mailman id 1196199.1514064; Tue, 06 Jan 2026 14:07: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 1vd7ij-0004Vo-1G; Tue, 06 Jan 2026 14:07:37 +0000 Received: by outflank-mailman (input) for mailman id 1196199; Tue, 06 Jan 2026 14:07:36 +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 1vd7aM-0000Ic-9g for xen-devel@lists.xenproject.org; Tue, 06 Jan 2026 13:58:58 +0000 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [2a00:1450:4864:20::42b]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id d7b5f913-eb07-11f0-9ccf-f158ae23cfc8; Tue, 06 Jan 2026 14:58:56 +0100 (CET) Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-430f3ef2d37so812960f8f.3 for ; Tue, 06 Jan 2026 05:58:56 -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-432bd0e19bfsm4654784f8f.18.2026.01.06.05.58.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Jan 2026 05:58: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: d7b5f913-eb07-11f0-9ccf-f158ae23cfc8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1767707936; x=1768312736; 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=/W6SkAbgch3VF6wNy3YU3AMUhJhp6OUaf6yGBOkOVJw=; b=dDgYK9JvFvg8xYLxeoaQtW7gQs9gCBI8E6R9OTnInEhsHqMBM2flrd5WR8nfm5LzBY jTcWMIixZa0W0rkZFi9TAeO7Gw+8teJ+ZqpAl9XOhWB6Wl70OGO7dd2nQtmtfOePd2UN 62tKgE9JxZ1AT522Za4Vu85erIxA0+k1YWk8R1XHlV2QnSIiTb/WL7w8OlwXj6PcgFgc 5r4pavkYf3xnb7FW7E7FdPMIl5S4Ho+joEXOTlDOpZGkvgv/tk35y9nGMhNcBmKA97xg EOr9evFX3LYroBjgWzm0e9VbpQlwjOacO4qPb11li5bA0jP93v+rCGaGd0wb4KK6hysi 5OQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767707936; x=1768312736; 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=/W6SkAbgch3VF6wNy3YU3AMUhJhp6OUaf6yGBOkOVJw=; b=ReHjUGB5ty5q+XsPkdpQAu0wGh0D4ZJVqfb+Nc26Xv8jaUOiJkNhJwtc08le79dBZo 440lqm3BmlQFHHPClon4ROACr9NSZRyXk5mryhQSL6Rm2cNci0WUdssC0IcUF7EpM/uZ Aw0JUAHpZBuhWzQRMQguzGvQHTHsQ29kr3JemgTf4Ke8QvUM02H5w0JXeJW6PybPmbi/ Wss8WGWp7R+tPxxcImXcVUKiAo2GdWumBLgXVXXzPIhbq/xDHPR0NXdJ/zT+eqRl7nem HTxQQiNaF5vNRPncQpfP1zW4ERdV6BtmnETpfQ00ET4OrZT14q2czkhpVoVR3aCqnAYN kpVw== X-Gm-Message-State: AOJu0YwGrIfQlQzcfeT21wNyrJ36T1e0LU77FHk5vJ1u2oNcy9smA0nq dz23kjZhALji2XzOOJBzbkM98QgXEcHdHMDecI8W1nUhj8wu7UYLKvqxuXCIHTNbzUo23cWnwzY Qe/k= X-Gm-Gg: AY/fxX4b3gIggiodN9Un0xIF3mz6by51rpVXNDFU33Ys95Nge5WGy4NvK/C6v8ZIQgm B+aPfQeKBmVm9StfS/JyvPM0LLyYe/c5myAKSWUbeyQ5JxitSY6GAbWChztX9i4pNsx8RYDtAr9 TRUHwwKiInD2oCwvhFVTzSxKFT16GT4W1IQoXwI64SqMcm3paTquibttFWioJL26JHZG5ljeK4t UYFKlYPPtHJsKCF69cmfanwpv2v6NGvDxsMPfwV50XAT2AsKUDKEVUFxgwv8IGbhlH18Lxz3oio RW0WYsStR8WtNIz5ULwy0hgISbGtRp/BXxtyuTKeAhC0EHlYCBm/fYdUu85BEjKfuX86Ak7ibO4 VeyVwOaNCrwcn4OqRUGi6zSf/cZYrGBPHwi8+JPibl7DWSHnbna2s08Vj6DwrbHPca9cMpnPQZB jpIbHe4RQFzdfKAjwFgvbtPt7zNYm3oE2ZjKudHX3GIEz00DWVrzquicl3YNcEskw9/36gYIVhY sJ688s7axq1zQ== X-Google-Smtp-Source: AGHT+IEGeRGZxtt1c2ZvMypgAJp7gPNtwh7MGE9GrSiyIhqdrHGTy53gt/Im7l3M7uDHN9ud0RefRA== X-Received: by 2002:a05:6000:400b:b0:430:fcda:452d with SMTP id ffacd0b85a97d-432bca312admr3431267f8f.22.1767707935839; Tue, 06 Jan 2026 05:58:55 -0800 (PST) Message-ID: <366597a9-c506-4183-bdee-8ef3d1045669@suse.com> Date: Tue, 6 Jan 2026 14:58:54 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 3/5] x86/HVM: drop at_tsc parameter from ->set_tsc_offset() hook From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> 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: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1767708476552158500 Content-Type: text/plain; charset="utf-8" While the VMX hook never used the parameter, the SVM one lost its sole use some time ago (while the original use of the parameter had gone away even earlier). Again modernize types while there. Amends: 0cd50753eb40 ("nestedsvm: Disable TscRateMSR") Signed-off-by: Jan Beulich Acked-by: Roger Pau Monn=C3=A9 --- a/xen/arch/x86/hvm/domain.c +++ b/xen/arch/x86/hvm/domain.c @@ -312,8 +312,7 @@ int arch_set_info_hvm_guest(struct vcpu /* Sync AP's TSC with BSP's. */ v->arch.hvm.cache_tsc_offset =3D d->vcpu[0]->arch.hvm.cache_tsc_offset; - hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, - d->arch.hvm.sync_tsc); + hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset); =20 paging_update_paging_modes(v); =20 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -412,7 +412,7 @@ static void hvm_set_guest_tsc_fixed(stru delta_tsc =3D guest_tsc - tsc; v->arch.hvm.cache_tsc_offset =3D delta_tsc; =20 - hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, at_tsc); + hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset); } =20 #define hvm_set_guest_tsc(v, t) hvm_set_guest_tsc_fixed(v, t, 0) @@ -430,7 +430,7 @@ static void hvm_set_guest_tsc_msr(struct static void hvm_set_guest_tsc_adjust(struct vcpu *v, u64 tsc_adjust) { v->arch.hvm.cache_tsc_offset +=3D tsc_adjust - v->arch.hvm.msr_tsc_adj= ust; - hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, 0); + hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset); v->arch.hvm.msr_tsc_adjust =3D tsc_adjust; if ( v =3D=3D current ) update_vcpu_system_time(v); @@ -4023,8 +4023,7 @@ void hvm_vcpu_reset_state(struct vcpu *v /* Sync AP's TSC with BSP's. */ v->arch.hvm.cache_tsc_offset =3D v->domain->vcpu[0]->arch.hvm.cache_tsc_offset; - hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, - d->arch.hvm.sync_tsc); + hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset); =20 v->arch.hvm.msr_tsc_adjust =3D 0; =20 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -779,7 +779,7 @@ static int cf_check svm_get_guest_pat(st return 1; } =20 -static void cf_check svm_set_tsc_offset(struct vcpu *v, u64 offset, u64 at= _tsc) +static void cf_check svm_set_tsc_offset(struct vcpu *v, uint64_t offset) { struct vmcb_struct *vmcb =3D v->arch.hvm.svm.vmcb; struct vmcb_struct *n1vmcb, *n2vmcb; --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -1558,7 +1558,7 @@ static void cf_check vmx_handle_cd(struc } } =20 -static void cf_check vmx_set_tsc_offset(struct vcpu *v, u64 offset, u64 at= _tsc) +static void cf_check vmx_set_tsc_offset(struct vcpu *v, uint64_t offset) { vmx_vmcs_enter(v); =20 --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -1114,7 +1114,7 @@ static void load_shadow_guest_state(stru hvm_inject_hw_exception(X86_EXC_GP, 0); } =20 - hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, 0); + hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset); =20 vvmcs_to_shadow_bulk(v, ARRAY_SIZE(vmentry_fields), vmentry_fields); =20 @@ -1330,7 +1330,7 @@ static void load_vvmcs_host_state(struct hvm_inject_hw_exception(X86_EXC_GP, 0); } =20 - hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset, 0); + hvm_set_tsc_offset(v, v->arch.hvm.cache_tsc_offset); =20 set_vvmcs(v, VM_ENTRY_INTR_INFO, 0); =20 --- a/xen/arch/x86/include/asm/hvm/hvm.h +++ b/xen/arch/x86/include/asm/hvm/hvm.h @@ -165,7 +165,7 @@ struct hvm_function_table { int (*get_guest_pat)(struct vcpu *v, uint64_t *gpat); int (*set_guest_pat)(struct vcpu *v, uint64_t gpat); =20 - void (*set_tsc_offset)(struct vcpu *v, u64 offset, u64 at_tsc); + void (*set_tsc_offset)(struct vcpu *v, uint64_t offset); =20 void (*inject_event)(const struct x86_event *event); =20 @@ -482,10 +482,9 @@ static inline void hvm_cpuid_policy_chan alternative_vcall(hvm_funcs.cpuid_policy_changed, v); } =20 -static inline void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset, - uint64_t at_tsc) +static inline void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset) { - alternative_vcall(hvm_funcs.set_tsc_offset, v, offset, at_tsc); + alternative_vcall(hvm_funcs.set_tsc_offset, v, offset); } =20 /* @@ -847,7 +846,7 @@ static inline void hvm_sync_pir_to_irr(s */ int hvm_guest_x86_mode(struct vcpu *v); void hvm_cpuid_policy_changed(struct vcpu *v); -void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset, uint64_t at_tsc); +void hvm_set_tsc_offset(struct vcpu *v, uint64_t offset); =20 /* End of prototype list */ =20 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -2985,8 +2985,7 @@ int tsc_set_info(struct domain *d, */ d->arch.hvm.sync_tsc =3D rdtsc(); hvm_set_tsc_offset(d->vcpu[0], - d->vcpu[0]->arch.hvm.cache_tsc_offset, - d->arch.hvm.sync_tsc); + d->vcpu[0]->arch.hvm.cache_tsc_offset); } } From nobody Sun Feb 8 20:58:32 2026 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; 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=1767708483; cv=none; d=zohomail.com; s=zohoarc; b=mUfD8m8sBd9S9D8QRToRRPvhc0RAkS6Pfe4Jp4L2F8vYbUhKT9GBxqDVSYR6QDK+s/YtgKHaAjZ3l2DID00Ggl2pKgMcI6BJpWA6vFyvGOU503LzNf7mvW1AnRPzmjRXsPr2YbgwlW5DwYadJdE2Bow4LOxROKp+zqE0IUSP9Pk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767708483; 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=YfooQE8xDDthz+4K3ntwahmx+kDJ4t+nLpvD3J6Xa0o=; b=jEuNPy6G5Ym9ta0zY/qYi0aKSmp2stU/ZpVlXJ6qrSRLq4ApOG7b9yjbVU1Q02iOwmIo3PU8mCW4tE3LHx6ki76ExLwbQyGMQwWc7uqTBTwaY5rbOTVMhJA1+GoVqhdPmRGgJ6Jc5Y5ThRXHbOXUdaaDU5rwa07ETBo7bkFnfAY= 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 1767708482983479.07953819099293; Tue, 6 Jan 2026 06:08:02 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1196202.1514076 (Exim 4.92) (envelope-from ) id 1vd7ip-0004o4-DO; Tue, 06 Jan 2026 14:07:43 +0000 Received: by outflank-mailman (output) from mailman id 1196202.1514076; Tue, 06 Jan 2026 14:07:43 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vd7ip-0004nw-8H; Tue, 06 Jan 2026 14:07:43 +0000 Received: by outflank-mailman (input) for mailman id 1196202; Tue, 06 Jan 2026 14:07:42 +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 1vd7b9-0000Ic-6G for xen-devel@lists.xenproject.org; Tue, 06 Jan 2026 13:59:47 +0000 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [2a00:1450:4864:20::436]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id f4ca02ae-eb07-11f0-9ccf-f158ae23cfc8; Tue, 06 Jan 2026 14:59:45 +0100 (CET) Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-43246af170aso568541f8f.0 for ; Tue, 06 Jan 2026 05:59:45 -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-432bd0e1adbsm4682325f8f.17.2026.01.06.05.59.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Jan 2026 05:59:44 -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: f4ca02ae-eb07-11f0-9ccf-f158ae23cfc8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1767707985; x=1768312785; 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=YfooQE8xDDthz+4K3ntwahmx+kDJ4t+nLpvD3J6Xa0o=; b=e7rChalbrBiJP+j9GJJPJ2BQaMW1HkbgnHdbWigWbU9nSZpOw1ZsmdDkcCuyYqQC2M xFQKrloCycnZDh6Dgc3QPn8iremNvSMgTMAQH8Q5n63gVxd+D2reXM4HnggMEINQxkQO jlGyp9AvrXaii/mEp77ZwQzc1LHVl2ls7PCfoOKuc1XOmgW2mjsJtAeiCiQQMSxZo1Mh vjOvF1HkzxmlgMOuYdMkDa6huWG5LjSdDuqxjlQCrDiwpUNu1ZlWSNcqVOgGKz8gb9B8 WxYYt/KsTC+5dupwqPG7YLQR9AH7Db6FYYMTIxMc7FE0AsXJGwBXedw69Ubc6orH8TM9 BcWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767707985; x=1768312785; 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=YfooQE8xDDthz+4K3ntwahmx+kDJ4t+nLpvD3J6Xa0o=; b=FXKPwHtUiBpJKqMOU9q6XQYA1SOBIiWGnNdcBVIjvZc7T/GdqFotbAGnaqYHrdhNMJ 02bnmuiQ4meCL+ILUstt0jIFEuJyLfUMLT6jpCbI0R84kJru3gqEEVAL0jIrRPp+Redh UW8nnF7e2xDwxHhcEI44YxIWQlWMLRQDFukh0VHjhm50mPELsF1gbSK9aoLRk6zxzGLP rWf8fB3YZ+nBt+6tME6z2nYTwxGTm5bjlYmBUBJLobZEG3HqT4O5Vzvv67GLcP18aSOj EiEJbU0pUYow+QbDTGfZl2hyLio53t1SNdm5nCeOHE7ZKcMvCBn6WhKwVr0xKZ3wFgso tZDA== X-Gm-Message-State: AOJu0YzYA49csU5lKNje6oibCi0g5UV1CVw9/ZsM2QsC9e1Ob8Iv0Ax2 WVbD56ZHBPR2ztqDQNxuu1hkfVnwSLNwtqjWnMgZCJtMWwRUwXhfwXz8fGUrqYzchgekbzoGd2Z 8yto= X-Gm-Gg: AY/fxX4m8Ab3Je0aioVdib5GfWTjVGOQjYl53bGugfyjNyqLuhQ0H4aJ6l4wPQz2Uq4 vEcso6wDPN3nROJWRTJpwrlq6jhEmNTW8CB1PqZn6ELU2AmpL+vn8lfSehTAv6hZqxPDhG0td2e L1NZF8aGpp1mNru8/eqVw+G0cjHvp5ySvoHlKdPy8HNGsMPHzjN4clkZUIEX29fIU1cT/o0OI7c gcCTzsyr8RrJZvkx7v7mmVjuq45Jmi+CUZCWl85Xlbi0DHdnQYEgIc+5iZw1NJuiqQQwVycyBvJ GZQeikjYuvxtQAhuUZ1th+4NowL9DHYy+IYW6Op2Armyc1dUz6GT9FC/eeqLTU9I+Lc5TnGRhlB yURW32o6sRcsB/QG2bkRtOgqazFkso+6u4JAmDAW5nWCHrWYrsKNn6K697q0EMf3T8V5pXpSa5v FxB9v/67twuPyHxqfOkWJFec0Y8EMJwkFP2PvIX8dIwkni5KIO7H2EVYiUgJnaYr+fDEZ5bwOL+ do= X-Google-Smtp-Source: AGHT+IEmEb4GNZ4LQani0gWmVmOvIO6J/jf0qV6+//ns/nO7VSMpuKJYFdNvqeudPiMcRiJv0q4/7Q== X-Received: by 2002:a05:6000:430e:b0:432:b953:b02b with SMTP id ffacd0b85a97d-432bcfd3d7cmr3819280f8f.16.1767707984860; Tue, 06 Jan 2026 05:59:44 -0800 (PST) Message-ID: <79c32e1e-15d6-4b9a-9645-1429a21e63ec@suse.com> Date: Tue, 6 Jan 2026 14:59:43 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 4/5] x86/time: gtsc_to_gtime() is HVM-only From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> 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: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1767708484280158500 Content-Type: text/plain; charset="utf-8" Omit the function when HVM=3Dn. With that the !HVM logic can also go away; leave an assertion. Signed-off-by: Jan Beulich Acked-by: Roger Pau Monn=C3=A9 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -2840,14 +2840,13 @@ uint64_t gtime_to_gtsc(const struct doma return scale_delta(time, &d->arch.ns_to_vtsc); } =20 +#ifdef CONFIG_HVM uint64_t gtsc_to_gtime(const struct domain *d, uint64_t tsc) { - u64 time =3D scale_delta(tsc, &d->arch.vtsc_to_ns); - - if ( !is_hvm_domain(d) ) - time +=3D d->arch.vtsc_offset; - return time; + ASSERT(is_hvm_domain(d)); + return scale_delta(tsc, &d->arch.vtsc_to_ns); } +#endif /* CONFIG_HVM */ =20 uint64_t pv_soft_rdtsc(const struct vcpu *v, const struct cpu_user_regs *r= egs) { From nobody Sun Feb 8 20:58:32 2026 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; 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=1767708045; cv=none; d=zohomail.com; s=zohoarc; b=YNvHrlp8qkwHyxgBqa49fNFTLhnpW2Dq0HtaolI73g+sVSXVkYiMWosFqZHdY7mhN2ZOnnyJaGroTjg7u4xkkyUbklXfap5cYO0InK5A5q+08VWdHFanVQpqTBiCppFkOnKNofdj7A1RE7YfNQLLP9IdgnwEDSNs8soeP4tQCCY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1767708045; 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=mUKumA/eSvAXgzYPa6wZCvrzBSQf3BW7uOlRVhXEMGg=; b=BY+4KG4NodkIoRaDTMCQAPmX3DZvFMnPmxnwN2B6iI7jS+e68Vi2yIgBVitWZIEtwRXprfImu6prDue4GRp62zNstAD+roB8Q0do8oL5ctitcAvjvaovAB3dNoGomwHAZkN3hpImI/MODnNP0AAhZoCZIJ7Umw89GjWSguHS6U8= 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 176770804531429.743739482969204; Tue, 6 Jan 2026 06:00:45 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1196182.1514055 (Exim 4.92) (envelope-from ) id 1vd7bn-0003YH-EG; Tue, 06 Jan 2026 14:00:27 +0000 Received: by outflank-mailman (output) from mailman id 1196182.1514055; Tue, 06 Jan 2026 14:00:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vd7bn-0003YA-BL; Tue, 06 Jan 2026 14:00:27 +0000 Received: by outflank-mailman (input) for mailman id 1196182; Tue, 06 Jan 2026 14:00:25 +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 1vd7bl-0003Y4-R2 for xen-devel@lists.xenproject.org; Tue, 06 Jan 2026 14:00:25 +0000 Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [2a00:1450:4864:20::335]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 0b86e8b6-eb08-11f0-9ccf-f158ae23cfc8; Tue, 06 Jan 2026 15:00:23 +0100 (CET) Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-4779adb38d3so7683695e9.2 for ; Tue, 06 Jan 2026 06:00:23 -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-432bd0dad8bsm4656713f8f.8.2026.01.06.06.00.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Jan 2026 06:00:22 -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: 0b86e8b6-eb08-11f0-9ccf-f158ae23cfc8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1767708023; x=1768312823; 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=mUKumA/eSvAXgzYPa6wZCvrzBSQf3BW7uOlRVhXEMGg=; b=ahGHzP6DLUcqQ7fs25W/EqeQt8s4MfqXr5yVHiWDwPYM1mQ16CfwqP4UO6O9kAke1A GystfiFUnFSsbcHraFm7EJ397l6yBNIkgVQL+Bb5xCfe377huKN0jzosuz5xHn33NAs/ bbzqdd+UWCV3LOvGGD+JwUjU7P9jTSV+XwVz6XKvbwNPU15FOGYG5M5xaxspmEvEKj2U oIubnZF1Jtqydi5abVw4455pbyrdUyQbnlbvzX48V2/uCC2l8a0vFXYFUlZud+H+ttTz wzhLQszQxf6winYCzO8cyXFRQSe24nHuhNydcLFhFB6HcA8YL4ck7Jl8prkhqMoHbI3D oWpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767708023; x=1768312823; 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=mUKumA/eSvAXgzYPa6wZCvrzBSQf3BW7uOlRVhXEMGg=; b=T2JKVOd81wwq69GpQKYcAWcHRkSFiMc1k3diVUYsCmkzX2bs8ieTfl6Yg0N2HCfb7h LJ1EXXsVe2nUR+sHq1I7Foh3pYKB4EojRyIBjgakz2m90ZNurbi74N58BAeIvJogba7z RZyeQMaPothzY/0FXTOY31ki9F8FEcsMfQSYD646KrJyFKIW5p1wEyEIe47A1U8K8AjX EsEngZX2D18pZur4R1o2ADBo4orVonVGhmtvFeHIW0mERuBBiGyquC7sA3TY+euchaXF ClwBCCRxzOK9hzZOJO/8CFJlYBH9h+Rf8LMWQEBlgaUH4nHfbbXNXkJvjpJpiOttHsfs iZXw== X-Gm-Message-State: AOJu0YzkV+ZMVqbhc18Ddg0a0RtBxNlM3JhjNpOeP6Nb6tYLF5M8p2aO gWg7eRXcli3MM9nCnTkMKHu2DL9PMCTS8acV0oCuPMAOgccC0BVzwjDknEoxaORrI9OwxbYkb47 QR80= X-Gm-Gg: AY/fxX5UMPjB7uNTOr2L9SbuSJDNSOvadfhPJe7SWtw/VctI/up1rxKvTusl1RDBh5s 65y9QPR7Rszi3yZMTmhq7Vdv0Fq/upNU9B31YRNavRrOU9kQm1CL33XyOVtVdqf2g+povb69b8Z gfgBvI8f70bA8n86z2hJc1glIMwR2V7bRpUM6gM1kS0Zgb4r4kF/rsIwAgx7LwQB57UFD8dj/iO AvwdS57VtnzUwK9CB1jPDU8NHsmvBfKlzQvgDuEdvZBErNXk0JjyUcIN+Lv70OdYMUU3cqUG3N/ s7NB/W8ZHFzjkHui+gs6kvIiyOYUHQ6IUwumRPHdUcQXX2cs2CiaUCHXNRTzW4ptxtupPvudOTS WTcHyy3nSA6lrWVpRX7XfZhQmY7bevOTu3ZqL8HYFAsdRyrrXn+QVuF1li9F3+jErCvHLm4wpVr Y8sboNNzLrc+Lmqxis8CC+lGJvzCexL3V3pxJyl9mpwTWSl3pJRDeQQFmNjh8ThXq82bpgSIDEz hY= X-Google-Smtp-Source: AGHT+IHY95kcdHPxzm5HEAVWP8bxzJnA+ZrGdPY3OXpzuMGfiL6929Ime8G2sAWu9aPCN/sb41102g== X-Received: by 2002:a05:600c:1384:b0:477:fcb:226b with SMTP id 5b1f17b1804b1-47d7f05d468mr31298525e9.2.1767708022953; Tue, 06 Jan 2026 06:00:22 -0800 (PST) Message-ID: <5467f5c4-e752-4d44-bbb7-05e6fa1a672c@suse.com> Date: Tue, 6 Jan 2026 15:00:21 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 5/5] x86/time: pv_soft_rdtsc() is PV-only From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> 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: <66a53368-9c33-436c-858e-2b2d25ae84b7@suse.com> Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1767708047604158500 Content-Type: text/plain; charset="utf-8" Omit the function when PV=3Dn, by moving it to the sole file using it, thus allowing it to become static as well. Signed-off-by: Jan Beulich Acked-by: Roger Pau Monn=C3=A9 --- a/xen/arch/x86/include/asm/time.h +++ b/xen/arch/x86/include/asm/time.h @@ -37,8 +37,6 @@ uint64_t cf_check acpi_pm_tick_to_ns(uin =20 uint64_t tsc_ticks2ns(uint64_t ticks); =20 -struct cpu_user_regs; -uint64_t pv_soft_rdtsc(const struct vcpu *v, const struct cpu_user_regs *r= egs); uint64_t gtime_to_gtsc(const struct domain *d, uint64_t time); uint64_t gtsc_to_gtime(const struct domain *d, uint64_t tsc); =20 --- a/xen/arch/x86/pv/emul-priv-op.c +++ b/xen/arch/x86/pv/emul-priv-op.c @@ -874,6 +874,20 @@ static uint64_t guest_efer(const struct return val; } =20 +static uint64_t soft_rdtsc( + const struct vcpu *v, const struct cpu_user_regs *regs) +{ + s_time_t old, new, now =3D get_s_time(); + struct domain *d =3D v->domain; + + do { + old =3D d->arch.vtsc_last; + new =3D now > d->arch.vtsc_last ? now : old + 1; + } while ( cmpxchg(&d->arch.vtsc_last, old, new) !=3D old ); + + return gtime_to_gtsc(d, new); +} + static int cf_check read_msr( unsigned int reg, uint64_t *val, struct x86_emulate_ctxt *ctxt) { @@ -920,7 +934,7 @@ static int cf_check read_msr( return X86EMUL_OKAY; =20 case MSR_IA32_TSC: - *val =3D currd->arch.vtsc ? pv_soft_rdtsc(curr, ctxt->regs) : rdts= c(); + *val =3D currd->arch.vtsc ? soft_rdtsc(curr, ctxt->regs) : rdtsc(); return X86EMUL_OKAY; =20 case MSR_EFER: --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -2848,19 +2848,6 @@ uint64_t gtsc_to_gtime(const struct doma } #endif /* CONFIG_HVM */ =20 -uint64_t pv_soft_rdtsc(const struct vcpu *v, const struct cpu_user_regs *r= egs) -{ - s_time_t old, new, now =3D get_s_time(); - struct domain *d =3D v->domain; - - do { - old =3D d->arch.vtsc_last; - new =3D now > d->arch.vtsc_last ? now : old + 1; - } while ( cmpxchg(&d->arch.vtsc_last, old, new) !=3D old ); - - return gtime_to_gtsc(d, new); -} - bool clocksource_is_tsc(void) { return plt_src.read_counter =3D=3D READ_TSC_POISON;